DynamoDS / DynamoRevit

Dynamo Libraries for Revit
https://dynamobim.org
340 stars 188 forks source link

Parameter.StorageType not working as expected #2150

Open ColinDayOrg opened 6 years ago

ColinDayOrg commented 6 years ago

Issue by taurerm Saturday Jul 08, 2017 at 15:11 GMT Originally opened as https://github.com/DynamoDS/Dynamo/issues/8030


If this issue is with Dynamo for Revit, please post your issue on the Dynamo for Revit Issues page.

If this issue is not a bug report or improvement request, please check the Dynamo forum, and start a thread there to discuss your issue.

Dynamo version

1.3.0.875

Operating system

Windows 10

What did you do?

Trying to query parameters

What did you expect to see?

Parameter.StorageType, UnitType... etc working

What did you see instead?

Only Parameter.Name and Parameter.Id work capture

ColinDayOrg commented 6 years ago

Comment by ksobon Saturday Jul 08, 2017 at 23:19 GMT


@mjkkirschner this is an interesting one. The Parameter wrapper that we have doesn't catch this case. Basically they cover Autodesk.Revit.DB.Parameter class, while this is a wrapper class for user created parameters stored in the project. Also, ParameterElement inherits from an Element thus our internal wrapper just used the UnknownElement wrapper on it. That makes the Parameter.Name and Parameter.Id not fail since it doesn't rely on Definition and only on the element object. Now, all other properties that OP is demonstrating require that we retrieve the Definition, but this particular object doesn't have it stored in a property Definition but instead it uses a method called GetDefinition to retrieve it. Yet, another Revit intricacy. What do we do about this?

cc: @kronz

ColinDayOrg commented 6 years ago

Comment by ksobon Saturday Jul 08, 2017 at 23:26 GMT


@taurerm what are you trying to accomplish? I am afraid that Parameter and ParameterElement are not the same thing in Revit. There is no functionality supporting ParameterElement yet. Maybe I can think of some workaround if you tell me what your end goal is.

ColinDayOrg commented 6 years ago

Comment by taurerm Sunday Jul 09, 2017 at 11:11 GMT


The way I'll try to resolve is to iterate through all categories, get the info there and then pull out individual items per parameter ID...

Sent from my iPhone

On 9 Jul 2017, at 01:26, Konrad K Sobon notifications@github.com wrote:

@taurerm what are you trying to accomplish? I am afraid that Parameter and ParameterElement are not the same thing in Revit. There is no functionality supporting ParameterElement yet. Maybe I can think of some workaround if you tell me what your end goal is.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

ColinDayOrg commented 6 years ago

Comment by ksobon Sunday Jul 09, 2017 at 15:44 GMT


I don't follow. Please provide a detailed workflow description.

ColinDayOrg commented 6 years ago

Comment by taurerm Sunday Jul 09, 2017 at 16:29 GMT


I'll send my graph tomorrow- basically I want to write out all shared parameter bindings to Excel, edit them there, and recreate them in an empty project. So far I got it all sorted using InternalDefinition in Python except Instance/Type... for that I need to go the extra way of iterating through all Types, get all parameter bindings and ID > unique items > sort by ID to get the lists in sync

Sent from my iPhone

On 9 Jul 2017, at 17:44, Konrad K Sobon notifications@github.com wrote:

I don't follow. Please provide a detailed workflow description.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

ColinDayOrg commented 6 years ago

Comment by taurerm Sunday Jul 09, 2017 at 16:33 GMT


Sample here - this post illustrates the issue https://www.linkedin.com/feed/update/urn:li:activity:6289496777401995264 Sent from my iPhone

On 9 Jul 2017, at 17:44, Konrad K Sobon notifications@github.com wrote:

I don't follow. Please provide a detailed workflow description.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

ColinDayOrg commented 6 years ago

Comment by taurerm Sunday Jul 09, 2017 at 17:44 GMT


And this is the Dynamo - finally on the Hotel WiFi... WriteSharedParametersToExcel.dyn - this one works, but I can't determine if it is a Type or Instance

My experimental one is: SharedParametersWIP.dyn - see how everything goes haywire after applying Element.Parameters to All Elements of Parameter Type [image: Inline image 1] The output is - well, quite a surprise...

Cheers Martin

Martin Taurer taurerm@gmail.com +31 6 34489 403

On Sun, Jul 9, 2017 at 6:33 PM, taurerm@gmail.com wrote:

Sample here - this post illustrates the issue https://www.linkedin.com/feed/update/urn:li:activity:6289496777401995264 Sent from my iPhone

On 9 Jul 2017, at 17:44, Konrad K Sobon notifications@github.com wrote:

I don't follow. Please provide a detailed workflow description.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/DynamoDS/Dynamo/issues/8030#issuecomment-313927621, or mute the thread https://github.com/notifications/unsubscribe-auth/ADPSAt4TC2o3GaCfJKCaXJLLE3e_wNmsks5sMPVwgaJpZM4ORxka .

ZiyunShang commented 4 years ago

I think ParameterElement has no wrapper in DynamoRevit now, and ParameterElement and Parameter are two different elements in RevitAPI. @taurerm , do you want to add a new wrapper for ParameterElement? BTW, ParameterElement has no property called StorageType. I don't know which category do you want, Parameter or ParameterElement?