Create new Parameter group and new Parameter in system families?

Hi all,
i searched the forum and studied a lot of threads concerning the Parameter topics. I tried coding following tasked but i failed (Revit 2017, newest dynamo, clockwork package).:

A want to add a new Parameter group into a system Family for example into walls (like the ID Data Group) “Test Parameter Group” within 3 empty Parameters “Test 01”, “Test 02”, “Test 03”. I tried diverse examples which was posted here but i only get it done till a new Group was created without the new Parameters. The new created group also Wasnt shown at the wall Family. I tried also the example with the excellist Shared Parameters but this one crushed my dynamo (After press run nothing happened- seemed my machine was calculating but no warnings etc.).

How is this workflow possible? Thanks for some Input :slight_smile:

Hi @Balko

You need to drop images with errors expanding here or files in dropbox/google drive and share the link here. So that we can have closer look at your issue and provide you possible solutions.

Cheers!

@Kulkul allright, i found another thread with a possible solution with a special modified dll file. I will try this and poste here my issues :flushed:. Thanks!

Hi all, hi

so maybe i try to explain my Goal (please see screenshot below):

I want to create a new Parameter Group in a Revit file. The Revit File contains different system families (walls, columns etc.). In this system families i want to add a new parameter group with two new parameters. One of the new Test Paramater has to fill out by a value which i created in Dynamo: Companyname_Buildingname_Level_AAA_0001_01

So i already was able to put the new code till here Companyname_Buildingname_Level_AAA_ into the Standard existing Parameter Group “ID Data”.

Every column must counted automatically (001, 002, 003 etc.). I startet with a pythonscript to collect the whole geometry but at the moment i dont know how to filter the categories from this selection to get the further informations out of the geoemtry.

Does anyone can push me into the right way for continuing?

Thanks in advance

@Daniel_Woodcock1 : Thanks for your Upload in the other Post. Because ist solved i continue here - thank you.


Parameter_10.dyn (29.7 KB)

Hi @Balko,

As far as I’m aware (and please correct me if I’m wrong and somebody does know a way), but you can’t Create new Parameter Groups or modify them. You do have access to the BuiltInParameterGroups in the Revit API as shown below in the .chm file that ships with the SDK…

To filter by category though in the API try using the following code:-

import clr

clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
doc =  DocumentManager.Instance.CurrentDBDocument

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import *

fec = FilteredElementCollector(doc)
fec = fec.OfCategory(BuiltInCategory.OST_Walls)

This will return all the walls in your project. If you want other categories you can again search for BuiltInCategory in the .chm file. If you want to get more than one category you can use the ElementMulticategoryFilter. (Or use out existing nodes)

BuiltInParameterGroup Enumeration


BuiltIncategory Enumeration

I Hope this helps.

Cheers,
Dan

@Daniel_Woodcock1: Thanks for your reply. Well, i thaught that this is not possible, to create own Parameter Groups in System families. So i will try to use the goven paramter in the ID Data field.

i tried yout python code for selecting only the walls, but there is only a “null” . What i am doing wrong?

thanks

Hi @Balko,

Yeah, sorry, that was just the starter code assuming you wanted to continue on inside python. You need to set you OUT variable to be fec. So to return the walls add the line…

OUT = fec

Cheers,
Dan

Hi @Balko

You need to type at the end this.
OUT = fec

Thanks, that work. Now i have a list with all types of walls which contains that rvt file. I tried to get the ID Paramter “Kennzeichen” and insert some data back into it. But it dont work (Warnings: No function called getparameterbyvalue on a System.object…"

Any ideas?

HI @Balko,

Have you considered using the AllElementsOfcategory node instead? It would be easier than writing Python Code.

@Daniel_Woodcock1:
yes i did, but it doesnt work. it only works fine if i use selectet categories. my Goal is, that i colect at first all drawn geometry of the Project, because ottherwise i have to add all categories which are possible to be sure, that i dont Forget a categorie. the goal is, to add my specific code into all drawn geoemtry in revit.

Another Problem is, to delete a blank in this list: in front of the number 37 exists a blank. how can i delete this one? i looked up th value in revit: ist fine there - maybe during teh Splitting process something turned wrong…?

I think you can’t create own parameter group…only this one

http://www.revitapidocs.com/2017/9942b791-2892-0658-303e-abf99675c5a6.htm

Hi @Balko,

What blank are you referring to? I see two elements in a list of lists. I assume the Building Name or Gebaudername is a parameter with a value of 37?

Hi Dan,

there is a blank in front of the 37.

Thanks

Oooooh! :laughing: sorry mate, I was being a complete idiot.

Use String.TrimWhitespace. It will get rid of any spaces, since you have a single string of characters with no spaces it should work ok. You could also use String.TrimLeadingWhitespace to handle just the spaces in from of the string.

Cheers,
Dan

Great Dan, this works!

1 Like

@Balko,

Glad you got it working! Can you mark this as resolved.

Cheers,
Dan

Is possible share final files? or only how do you create new group and parameters?

thx.

Sorry @P_Fiala,

We got off topic in this thread. You can’t create your own Parameter Groups. You have to choose from the Built-In Parameter Groups that come with Revit.

Cheers,
Dan

1 Like