dynamods / dynamorevit Goto Github PK
View Code? Open in Web Editor NEWDynamo Libraries for Revit
Home Page: https://dynamobim.org
Dynamo Libraries for Revit
Home Page: https://dynamobim.org
I am not sure I understand how this node is working because it tends to produce some weird results. I am using ImportInstance.ByGeometries to import geometry from Grasshopper to Revit. It seems to me that some faces are mirrored horizontally and some are rotated. Anyone else having that same issue?
is this @pboyer @HLP or @kronz question?
ps. I tested this with Revit UI imports and same results. I tried going through In-place mass and then import. No luck.
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.
1.0.0.1180
2015
Windows 7
Launch Dynamo "About" window
Possibly related to DynamoDS/Dynamo#6631
As discussed in the following thread:
http://dynamobim.com/forums/topic/crop-box/#post-14708
First of all, the "AxonometricView.ByEyePointTargetAndElement" does not provide an option to offset/scale/grow the crop box. Would it be possible to add such an option?
Secondly, the AxonometricView.ByEyePointTargetAndBoundingBox is not performing as expected. Is anybody else experiencing the same?
StructuralFraming.Location does not work for structural columns but works for structural beams
I was working on a dyn that entered into a particularly long calc. I had already saved the file, so I wasn't worried about force-quitting. when I went to "end task," dynamo was responsive and brought up "do you want to save" - I didn't think anything of it, hit yes, and now my entire file has been overwritten by an empty one. This makes me very sad.
:'(
Hi,
I created a Solid geometry using Dynamo 0.8 that gets distorted when sent to Revit using ImportInstance.
I tried to use both
- a top to bottom loft with 4 guide curves,
- a loft using top, middle and bottom cross sections but I get the same result.
If it's exported as a SAT file and imported in Revit, the geometry is fine.
.1.201...447
(Which version of Dynamo are you using? Go to Help > About if you're not sure.)
(Which version of Revit are you using?)
2017
wn10
(e.g. Windows 7, Windows 8.1, etc)
launching dynamo on a new blank revit file.
(Fill in here)
active dynamo.
(Fill in here)
it crashed>details....>
HRESULT: [0x8876086C], Module: [SharpDX.Direct3D9], ApiCode: [D3DERR_INVALIDCALL/InvalidCall], Message: Unknown
at SharpDX.Result.CheckError()
at SharpDX.Direct3D9.Direct3DEx.CreateDeviceEx(Int32 adapter, DeviceType deviceType, IntPtr hFocusWindow, Int32 behaviorFlags, PresentParameters[] presentationParametersRef, DisplayModeEx[] fullscreenDisplayModeRef, DeviceEx returnedDeviceInterfaceOut)
at HelixToolkit.Wpf.SharpDX.DX11ImageSource.StartD3D()
at HelixToolkit.Wpf.SharpDX.DX11ImageSource..ctor()
at HelixToolkit.Wpf.SharpDX.DPFCanvas.StartD3D()
at HelixToolkit.Wpf.SharpDX.DPFCanvas.RenderTechniquesManagerPropertyChanged()
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
at HelixToolkit.Wpf.SharpDX.Viewport3DX.RenderTechniquesManagerPropertyChanged()
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.Activate(Object item)
at System.Windows.Data.BindingExpression.AttachToContext(AttachAttempt attempt)
at System.Windows.Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient.AttachToContext(Boolean lastChance)
at MS.Internal.Data.DataBindEngine.Task.Run(Boolean lastChance)
at MS.Internal.Data.DataBindEngine.Run(Object arg)
at System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Interop.HwndTarget.OnResize()
at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
(Fill in here)
Team,
cc: @ikeough @mjkkirschner @kronz (I am not sure who's working on this)
I think there is a clean way to return parameters that you could implement in Get Family Parameter node. I might be wrong on this, but it has worked for me so far.
This is the node that I am talking about: https://github.com/DynamoDS/DynamoRevit/blob/91f35d6e3762aa8b7da19043fde41e73e2a86f4d/src/Libraries/RevitNodesUI/RevitDropDown.cs
Please consider this instead:
Don't cast elements passed in as input into FamilyInstance
or WallType
etc. As a matter of fact just leave them be as Element
.
Then you can get all parameters from an element and if that element is an instance you can also get its type parameters using this utility method:
private void AddElementParams(Element e)
{
foreach (Parameter p in e.Parameters)
{
if (!(p.StorageType == StorageType.None))
{
AddDropDownItem(p);
}
}
// if element can have type assigned it's safe to assume that it's an instance
// and add type parameters to the list
if (e.CanHaveTypeAssigned())
{
ElementType et = DocumentManager.Instance.CurrentDBDocument.GetElement(e.GetTypeId()) as ElementType;
if (et != null)
{
AddTypeParams(et);
}
}
}
private void AddTypeParams(ElementType et)
{
foreach (Parameter p in et.Parameters)
{
if (p.StorageType == StorageType.None)
continue;
AddDropDownItem(p);
}
}
As you can see I am making a simple check e.CanHaveTypeAssigned()
to see if element has also element type parameters available and this seems to be just good enough.
This way, I can handle both, instances, as well as types being passed in as inputs and do away with type specific casting.
Please let me know if this helps. Here are some results:
I am working on a script which works fine but when i close the script and reload it I get an error on the Element.SetParameterByName node which worked before.
I can fix it by connecting a new string to the parametername input, run the script and then reconnect the original string. It seems to occur only when the parametername is "Start Join Cutback" or "End Join Cutback" Any ideas how to fix this, it makes it hard to use the script for other people.
Kind regards,
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.
1.0
2016
Windows 10
Tried flattened list of curves on Floor.ByOutlineTypeAndLevel node.
Tried same list as closed polycurve on same related node with polycurve input
Tried python revit api method Document.NewFloor method.
A new floor in revit
a never ending loop until Revit crashes. I've tried rebuilding the curves in every which way but always causes Dynamo to crash.
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.
1.0.0.1180
16.0.1144.0
20160525_1230(x64)
Update5 for R2
Windows 7 and Microsoft Excel 2007
wrote a dyn file to export room and area information into a template excel sheet. opened the revit model, opened dynamo, opened my dyn file, specified the file path for the excel template, and clicked run.
the template excel file that is pathed to update.
trying to write to a file that is not local to the dyn file will return an error sometimes and write to a new excel file.
(https://github.com/DynamoDS/DynamoRevit/files/326692/RVTDASH_KDHC.xlsx)
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.
0.6.3.7993
Revit MEP 2012
Win 7
As per suggested in Forum
Dynamo close normally
"Dynamo has crashed" message
Could not load type 'Autodesk.Revit.UI.RevitCommandId' from assembly 'RevitAPIUI, Version=2012.0.0.0, Culture=neutral, PublicKeyToken=null'.
at Dynamo.DynamoController_Revit.ShutDown(Boolean shutDownHost)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate cal
1.0.0
Revit 2016
Win 10
Create any type of curved object: circle, ellipse etc
Said curve, displayed in Revit without loss of fidelity, i.e. seamlessly curved
Said curve facets for no apparent reason. In Dynamo it looks fine. Also, if the dimensions of the curve are changed it occasionally corrects the problem in Revit?
Worth noting the following:
0.9.2
Windows 7
Run FaceAnalysisDisplay.ByViewFacePointsAndValues and FaceAnalysisDisplay.ByViewSurfaceData
Coloured surfaces in Revit relating to analysis results
Node outputs more than one Revit.Display and only one surface gets colorized in Revit
I've also started a thread here:
http://dynamobim.org/forums/topic/face-analysis-display-by-view-face-points-and-values-node-bug/
(Which version of Dynamo are you using? Go to Help > About if you're not sure.)
dynamo 1.0.0
Revit 2016 R2
(Which version of Revit are you using?)
WINDOWS 10
(e.g. Windows 7, Windows 8.1, etc)
Hi, I have installed Dynamo 1.0 but when I launch that from Revit 2016 R2, Revit quickbar immediately becomes blank and all the icons seems invisible (if I pass over an icon I can see the description of the button, but I canโt see the icon!). If I switch the quickbar down, below the ribbon bar, I can see all the buttons running Dynamo, but Iโd like to keep it on the top of the screen.
I have uninstalled Dynamo and everything is correct now: quickbar returns always visible.
I have checked my graphic card settings (NVIDIA high settings), my drivers are all updated.
I'm running Windows 10, Revit 2016 R2, NVIDIA GTX 950M.
Any other people found the same issue and reported that on dynamobim forum, but there is no answer.
Please, can you fix that problem?
Thanks
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.
DynamoInstall0.9.2
(Which version of Dynamo are you using? Go to Help > About if you're not sure.)
2017
(Which version of Revit are you using?)
win 10
(e.g. Windows 7, Windows 8.1, etc)
tried to launch dynamo on a new revit file.
(Fill in here)
(Fill in here)
HRESULT: [0x8876086C], Module: [SharpDX.Direct3D9], ApiCode: [D3DERR_INVALIDCALL/InvalidCall], Message: Unknown
at SharpDX.Result.CheckError()
at SharpDX.Direct3D9.Direct3DEx.CreateDeviceEx(Int32 adapter, DeviceType deviceType, IntPtr hFocusWindow, Int32 behaviorFlags, PresentParameters[] presentationParametersRef, DisplayModeEx[] fullscreenDisplayModeRef, DeviceEx returnedDeviceInterfaceOut)
at HelixToolkit.Wpf.SharpDX.DX11ImageSource.StartD3D()
at HelixToolkit.Wpf.SharpDX.DX11ImageSource..ctor()
at HelixToolkit.Wpf.SharpDX.DPFCanvas.StartD3D()
at HelixToolkit.Wpf.SharpDX.DPFCanvas.RenderTechniquesManagerPropertyChanged()
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
at HelixToolkit.Wpf.SharpDX.Viewport3DX.RenderTechniquesManagerPropertyChanged()
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.Activate(Object item)
at System.Windows.Data.BindingExpression.AttachToContext(AttachAttempt attempt)
at System.Windows.Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient.AttachToContext(Boolean lastChance)
at MS.Internal.Data.DataBindEngine.Task.Run(Boolean lastChance)
at MS.Internal.Data.DataBindEngine.Run(Object arg)
at System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Interop.HwndTarget.OnResize()
at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
doesn't always update in view but add another legend on element.
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.
1.0.0.1180
17.0.403.0
20160208_1515(x64)
Windows 7
Created an extrusion from a profile that contains a spline and used Select Face or Select Faces nodes in Dynamo to get the geometry of the face resulting from that spline.
I expected to see the surface appear in dynamo and perform geometric operations on it (offset surface, intersect with another, etc.)
The surface missing from Dynamo (showing null). However it seems to work when using mass elements (defined exactly the same).
I've attached the simple example in the picture (Revit file and Dynamo script)
Use case: A curtain wall that contains non-quadrilateral panels.
CurtainPanel.ByElement will return as many panels as the product of U and V subdivisions of that curtain wall, regardless of how some cells may have been merged. This only becomes obvious when applying CurtainPanel.Boundaries to the list of panels. It looks like that node will then only return PolyCurves for the first cell of a "merged" panel and null
for all other cells of that panel.
Expected behaviour: Do not return any of the "subpanels", only those that actually register as panels in the Revit UI and schedules.
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.
1.0
2015
Windows 7
create an if statement where true pulls, list A and false pulls list b
the full list to appear
(example.. if my true list has 0-6 indexes and my false list has 0-4 indexes, my result will only have 0-4 indexes)(some how it is cutting off any listed item beyond 0-4)
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.
1.0.0 (also occurs in 0.9.2)
Revit 2016
Windows 7
Use FamilyInstance.SetRotation
Positive angles rotate counter-clockwise, negative rotates clockwise (standard 3d modeling convention, other dynamo rotation nodes also operate this way)
Negative angles rotate counter-clockwise, positive rotates clockwise
It's all in the title. You have to at least type "Select M" to get the nodes to display.
1.0.0
2016 R2 UR4
Win 10
Click the Button
Dynamo
Exception was thrown from the ExternalCommand- System.TypeLoadException: Could not load type 'Dynamo.Models.DynamoModel' from assembly 'Autodesk.Bcg, Version=1.7.3.0, Culture=neutral, PublicKeyToken=d672471c03b2c408'.
' at Dynamo.Applications.DynamoRevit.ExecuteCommand(DynamoRevitCommandData commandData)
' at apiManagedExecuteCommand(AString* assemblyName, AString* className, AString* vendorDescription, MFCApp* pMFCApp, DBView* pDBView, AString* message, Set<ElementId,std::less,tnallc >* ids, Map<AString,AString,std::less,tnallc<std::pair<AString const ,AString> > >* data, AString* exceptionName, AString* exceptionMessage)
' 1:< System.TypeLoadException: Could not load type 'Dynamo.Models.DynamoModel' from assembly 'Autodesk.Bcg, Version=1.7.3.0, Culture=neutral, PublicKeyToken=d672471c03b2c408'.
' at Dynamo.Applications.DynamoRevit.ExecuteCommand(DynamoRevitCommandData commandData)
' at apiManagedExecuteCommand(AString* assemblyName, AString* className, AString* vendorDescription, MFCApp* pMFCApp, DBView* pDBView, AString* message, Set<ElementId,std::less,tnallc >* ids, Map<AString,AString,std::less,tnallc<std::pair<AString const ,AString> > >* data, AString* exceptionName, AString* exceptionMessage)
1.0.0 (issue also occurs in 0.9.2)
Revit 2016
Windows 7
Select model element (placed family) => FamilyInstance.SetRotation with a rotation angle of 270
rotated family
revit and dynamo are totally hosed, hard crash
I think there's something missing in the OOTB node: by default the view created is not cropped, resulting in a crappy useless view. and the setting is grayed in revit UI, so user can't switch it on.
the code should include this (in python here):
view.CropBoxActive = True
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.
Build 1.0.0.1180
2016
windows 10
Made a workflow that when user selects room, wall and floor finishes are created.
If I open up workflow and select room, it creates walls and floors as expected. When I change selection though, I expect the same thing to happen to the new room.
When I select a new room, it causes all the information from the prior run to carry over, i.e even the room moves to the new selected room. I have nothing in my workflow to warrant the move.
here is a sample in which I have already selected room 6 and wall/ floor is created. I then go to select a new room and everything is carried over, including room 6.
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.
1.0
2016
Windows 7
Placed walls by curve and height and level once, and edited the base offset of one wall.
nothing strange
At the first run, all walls sat directly on the level (as expected). Then, I made a modification to the base offset parameter of ONE of the walls. Then, on second run, ALL the walls jumped up to the elevation of the curve from which they were generated, without any change to their base offset parameter. See screen capture here: http://www.screencast.com/t/7VEl5B33C5mw
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.
1.0
2015
windows 7
go to the package manager
packages
It is great to see the groups in the 0.8.1 builds. It helps a lot in large and complex graphics.
It would be interesting to add new nodes to an existing group (for example when moving the node "inside" the group, you get asked if you want to incorporate the node to the group). And in a similar way, to put nodes out of the group (for example when you select a node in a group and right click, you will have this option).
1.0.0.1180
2015 and 2016
Windows 7 Pro SP1, 64GB RAM, Intel Xeon E5-1620 v3 @3.50GHz
I started experiencing several unjustified lags, Dynamo completely froze (and so Revit) for 10-20 minutes (or more) to complete actions that usually take a few seconds. It would happen when generating Revit elements, switching from Manual run mode to Automatic, other times just running the definition for the first time, other times just by creating a bunch of points.
I later on discovered that inside the .dyn file a huge portion of binary data was contained by a <SessionTraceData>
tag (making up like 99% of the file size). I removed it and the file started behaving normally.
Is this a knows issue? Any way to avoid it in the short term?
The definition used generates a series of columns on several levels in Revit. But the issue started to happen even after breaking up the definition, eg just generating points:
Files: https://www.dropbox.com/sh/28gpnre12au9psy/AADJHHuoDcAPNkUUnsfxG0Zta?dl=0
HRESULT: [0x8876086C], Module: [SharpDX.Direct3D9], ApiCode: [D3DERR_INVALIDCALL/InvalidCall], Message: Unknown
at SharpDX.Result.CheckError()
at SharpDX.Direct3D9.Direct3DEx.CreateDeviceEx(Int32 adapter, DeviceType deviceType, IntPtr hFocusWindow, Int32 behaviorFlags, PresentParameters[] presentationParametersRef, DisplayModeEx[] fullscreenDisplayModeRef, DeviceEx returnedDeviceInterfaceOut)
at HelixToolkit.Wpf.SharpDX.DX11ImageSource.StartD3D()
at HelixToolkit.Wpf.SharpDX.DX11ImageSource..ctor()
at HelixToolkit.Wpf.SharpDX.DPFCanvas.StartD3D()
at HelixToolkit.Wpf.SharpDX.DPFCanvas.RenderTechniquesManagerPropertyChanged()
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
at HelixToolkit.Wpf.SharpDX.Viewport3DX.RenderTechniquesManagerPropertyChanged()
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.Activate(Object item)
at System.Windows.Data.BindingExpression.AttachToContext(AttachAttempt attempt)
at System.Windows.Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient.AttachToContext(Boolean lastChance)
at MS.Internal.Data.DataBindEngine.Task.Run(Boolean lastChance)
at MS.Internal.Data.DataBindEngine.Run(Object arg)
at System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Interop.HwndTarget.OnResize()
at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
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.
DynamoInstall1.0.1.20160522T0056
(Which version of Dynamo are you using? Go to Help > About if you're not sure.)
2017
(Which version of Revit are you using?)
win10
(e.g. Windows 7, Windows 8.1, etc)
for a new revit file i tried to launch dynamo but it crashes.
(Fill in here)
active dynamo interface
(Fill in here)
(Fill in here)
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.
1.0.1.1126
2016
Windows 7
I have a package from Flux. I selected the "Select From List" node.
I expected to see a node that lists.
Instead, I received a "Dynamo has crashed" error. Below are the details:
Method not found: 'Void Dynamo.Graph.Nodes.PortModel.add_PortDisconnected(System.Action`1<Dynamo.Graph.Nodes.PortModel>)'.
at FluxPipe.Dynamo.NodeModels.FluxSelector..ctor()
at lambda_method(Closure )
at Dynamo.Wpf.ViewModels.NodeSearchElementViewModel.OnClicked()
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Implement tooling to auto-generate zero touch node classes to cover all element generation methods in the Revit 2017 API (and possibly more).
Two years ago, the Dynamo team had an internal project to attempt to wrap Revit API methods to make them work as nodes for Dynamo. This was when Dynamo's engine was written in F#. Initially, we tried doing this using .net reflection. But, the Revit API does not load correctly using reflection. Moreover, reflection gave us the names of methods and parameters, but did not give us any other helpful information which we would use to get descriptions for the node, the ports, etc. The RevitAPI.xml did give us this information however, so we wrote a python script which read types from this xml and emitted c# classes in individual .cs files.
A decision was made not to make this library public as it was a tight wrapping around the Revit API and the node names were not comprehensible to the user in the same way that Dynamo node names are. That is, they did not follow the static constructor pattern like Point.ByCoordinates(...)
, any they required that the user would need to know and understand specific Revit types, like CurveArrArray
. It was deemed to big an effort at the time to create mappings between all of these types and names that were more Dynamo-like.
The original python script can be found here: https://github.com/DynamoDS/Dynamo/blob/e1944bcba7590f49e2860645a2d92f6d07f6fd97/tools/NodeGenerator/NodeGenerator.py.
Fast forward two years...
Reflecting over the Revit API still doesn't work. But a new effort to write c# tooling to use the RevitAPI.xml for auto-wrapping has begun here. The tools we've developed for Dynamo for Revit to do element binding, transaction management, etc. are much more sophisticated then what we had two years ago. The Element
base class now contains a great deal of the logic for element binding, transaction management, etc. It is possible that an auto-generated library could use or extend this base class to make the auto-generated types as small as possible.
Auto-generating Dynamo node classes to wrap the Revit API has several key benefits. First, we can rapidly expand the coverage of the Revit API that we expose as nodes to our Dynamo for Revit users. Second, an auto-generated node library would be fast to update when the Revit API is updated. Third RTF-compatible tests can be automatically generated. And finally, documentation for the node can be automatically generated by lifting the comments from the RevitAPI.xml
file.
For this type of auto-wrapping exercise there are several challenges which are detailed below. It is possible that a base class for our auto-generated types can exist which includes much of the functionality required when addressing these challenges, such that the auto-generated types need only tightly wrap the Revit API calls.
When an element is created, the element's id needs to be serialized and added to trace. This allows Dynamo to find that element in the Revit model on subsequent executions, so that that element does not need to be recreated. Element binding logic must be added to the auto-generated type's constructor. And must handle both the case where the element does not exist in Revit and is being created, and the case where the element is only being modified.
Dynamo for Revit listens for document modification events like when elements are added, modified, or deleted. Auto-generated types need to handle these three cases, and manage the serialized element ids in trace to keep Dynamo in sync with Revit. Most of this should be handled by Dynamo for Revit's DocumentManager
.
Dynamo batches transactions to the extent that it is possible to do so. For example, if a node to the left of the graph requires that a transaction be started, then the transaction is opened and held open so that subsequent node executions can use the same transaction. Auto-generated types need to have the correct behavior with regards to transaction management, taking advantage of open transactions, and opening transactions where appropriate. Most of this should be handled by Dynamo for Revit's TransactionManager
Dynamo uses static constructor for element creation with names which describe the required inputs, i.e. Wall.ByCurveAndHeight(...)
. As Revit API methods are not named in this way, a mapping will have to be defined in the type generator between the Revit API method and the design Dynamo-like naming. This mapping can be produced in a separate config file, so that the mapping can be edited by project stake-holders like @kronz, without having to edit the code.
Dynamo for Revit is tested using NUnit tests that are run with the Revit Test Framework. Auto-generated types would also need to generate unit tests which validate the basic conditions null/valid/invalid for all combinations on parameters.
We do not have to wrap the entire Revit API to start. A logical place to start would be methods in the Revit API which create and modify elements. Once those are stabilized, we can move to element properties, etc. The auto-generated types can go into their own library and be released early as beta functionality to gather community feedback.
There will be edge cases. The first solution for these is to simply not generate node classes for the problematic types, and provide documentation somewhere listing these edge cases.
1.0.0
Revit 2016
Win 10
I have to test an array of adaptive component Family panels for equality against a particular type. The test is required as there are a number of different types of these components in the project: solid, window, etc and only the window components need to be identified/selected as they contain parameters which require updating (window opening width/height) from data stored in an Excel spreadsheet.
I created an imperative DesignScript definition which generates the test Family Type using the Family.Types query method and tests this type for equality against the family type of the selected components from the project.
I expected that the equality test would return true when the test Family type and the extracted Family type from the component match (to then be able to update its parameters from the Excel data)
The equality test fails, despite even the object IDs being identical.
And if the objects IDs are used for equality, it works!?
The following example illustrates the behaviour I experienced in the DesignScript definition:
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.
1.0.0.1180
2015
Windows 7
Reopen a file I had saved, after dynamo had crashed
The file as I had saved it
python script editor is all black with no content, all code blocks have no input text field.
file here:
520216_CurtainWallExplorations_D100.zip
Sending a long list of SetParameterByName - Sheet Number to a sheet list in Dynamo causes a seemingly random failure, and the message "The Parameter is read-only". However, closing and reopening Dynamo and re-running results in more success, until eventually all of the SetParameter operations have succeeded.
1.0.0
2015
Windows 10
Set Parameter Sheet Number to Sheet Elements
100% success
Around 75% success at each Run.
1.0.0 Revit 2016
Win 10
I created a DesignScript definition which converts a string (coming from Excel) to a Family Type.
Return the specified Family Type from the input formatted/processed text
When I used the FamilyType.ByFamilyAndName method in DesignScript Dynamo throws an exception and deletes the Family from the project!
See the example image - it shows the same method working using the node. When I process the same data from Excel (although its in the format of "Family A"), I use the String methods to extract the Family Type (i.e. "A") and the same method shown in the image to return the Family - I also TrimWhiteSpace to rule out any rogue spaces. Then the error described above occurs.
Heres the diagnostics
Object reference not set to an instance of an object.
at Dynamo.UI.Controls.PreviewControl.<>c__DisplayClassc.b__b(AsyncTask m)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Dynamo version:1.0.0.1180
Revit 2017
Windows 10
I was trying to edit a python script in a dynamo file and this error came up.
This is using the Python Script node.
Normally, we get an edit window that i can edit the python script.
Below is the error message I received:
Could not load file or assembly 'IronPython, Version=2.7.0.40, Culture=neutral, PublicKeyToken=7f709c5b713576e1' or one of its dependencies. The system cannot find the file specified.
at Dynamo.Python.IronPythonCompletionProvider..ctor()
at PythonNodeModelsWpf.ScriptEditorWindow..ctor(DynamoViewModel dynamoViewModel)
at PythonNodeModelsWpf.PythonNodeViewCustomization.EditScriptContent()
at PythonNodeModelsWpf.PythonNodeViewCustomization.view_MouseDown(Object sender, MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Letting me know what I need to install, change, or updates would be much appreciated!
A while ago I reported that several categories in the Categories
dropdown node were producing a warning. For a list of the affected categories and more information about the original issue, please refer to DynamoDS/Dynamo#4117
Apparently, the "fix" for this was to remove those categories from the dropdown entirely. This may sound harsh, but to me that is not a fix, it is ignoring the problem. The image below shows that
a) these categories are present in a Revit model (test was run on R2016) and
b) they can be queried with a FilteredElementCollector
.
If these categories are not supported we are back where we were with Dynamo 0.6 before the Categories
and All Elements of Category
nodes with people having to write their own Python-basedFilteredElementCollector
nodes to retrieve elements from the model.
Please provide a proper fix.
So the internal category of the wrapped Revit category object is scoped as internal:
internal Autodesk.Revit.DB.Category InternalCategory
This makes the underlying Revit category object inaccessible to c# programs (like ZeroTouch) without using reflection or some other trickery. In contrast, the corresponding Revit.Elements.Element property, InternalElement, is scoped as public and works fine. Please change InternalCategory to public as well.
1.0.0
Revit 2016
Win 10
I created a Custom Node which generates a prefab building using Adaptive Components (images shown below are not the original project, but a simplified example). As the master plan includes a number of these prefab buildings, the intention was to create a custom node and place multiple instances of it on the graph, each with its specific parameters/variables input to generate each prefab type required for the master plan.
The required variations of the prefab buildings in their relative locations on the master plan generated by each instance of the Custom Node placed by the design team
Only one prefab building can be generated at a time. Every time a new CN is placed on the graph and its inputs satisfied with the required data, the Adaptive Components output from the previous CN disappear and are replaced by the Adaptive Components output from the new CN - in effect, a 'last node wins' scenario.
The attached images show the object IDs of the output Adaptive Components are identical for every instance of the CN placed on the graph. Hence, Revit removes the previous objects (Adaptive Components) and replaces them with the output from the new CN which indicates where the problem is emanating from.
Although Adaptive Components were used in the example/original problem, this issue affects CNs that place any Family instance type. If this is 'as intended' behaviour it represents a significant workflow flaw.
Output from example CN - one instance on the graph:
Output in Revit:
Output from example CN - multiple instances on the graph:
Output in Revit:
As shown in the screenshot below, CurtanPanel.ByElement returns null
as soon as a curtain wall contains door or window elements (which, in my experience, is typically the case). Nested wall elements or curtain walls luckily pose no problem.
As a first step, it would be great to not have the node fail to deliver those elements that are not doors or windows if such elements are present.
As a second step, it would be even better if doors or windows could also be returned. It makes a lot more sense to have a full inventory of all elements in a curtain wall/system.
Also, in 0.7.5 walls and curtain walls are actually being returned as belonging to the Walls category, not as Curtain Panels. That wasn't such a bad thing because it allows for easy filtering of the results...
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.
8.1 and all most stable n daily builds. For this issue-8.1.
(Which version of Dynamo are you using? Go to Help > About if you're not sure.)
2015-2016-2017.
(Which version of Revit are you using?)
win 10
(e.g. Windows 7, Windows 8.1, etc)
i tried to run "Part-03-Editing-Multiple-Parameters" of module 1 of Advance curriculum on its corresponding rvt file....but every time n every version of revit and dynamo just crashed when pressing the run button.
(Fill in here)
forms must be updated after run.
(Fill in here)
crashing always.
Please make a only one very stable dynamo. Thanks for this great soft.
Object reference not set to an instance of an object.
at Dynamo.Models.DynamoModel.Dispose()
at Dynamo.Models.DynamoModel.ShutDownCore(Boolean shutdownHost)
at Dynamo.Applications.Models.RevitDynamoModel.ShutDownCore(Boolean shutDownHost)
at Dynamo.Models.DynamoModel.ShutDown(Boolean shutdownHost)
at Dynamo.ViewModels.DynamoViewModel.PerformShutdownSequence(ShutdownParams shutdownParams)
at Dynamo.Controls.DynamoView.PerformShutdownSequenceOnViewModel()
at Dynamo.Controls.DynamoView.WindowClosing(Object sender, CancelEventArgs e)
at System.Windows.Window.OnClosing(CancelEventArgs e)
at System.Windows.Window.WmClose()
at System.Windows.Window.WindowFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Here is a sum up report for versions i tried several times...
(Fill in here)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.