I’m going to tell you about a problem I have with a Dynamo routine, let’s see if you can help me find a solution.
The idea is to create two routines to extract and import the property sets, the properties and their values into an Excel. This way the values could be added more quickly.
I have created 2 routines:
CV_CIVIL3D_01_EXTRAERPSET.dyn - This routine exports the property sets, previously inserted in the model (Quick and easy procedure in Civil 3D when they have already been created from previous projects), to an Excel file. The columns they get are:
CV_CIVIL3D_02_DEVOLVERPSET.dyn - Once the values of the properties have been filled in in Excel and the HANDLE column has been modified to match the number of rows in the rest of the columns, this routine would be started to modify the values of the parameters in Civil 3D. I show the routine.
I can’t get this routine to work properly. I have managed to insert each column of the Excel in Dynamo and read it as a string, but the last node gives me problems and does not insert the values of the VALUES column.
Can you find any solution to this that is not Python, since I don’t handle it at all?
I apologize for my English,
Thanks in advance,
Hi, can you post an image of the excel file, or share the file ?
I had a problem with that node for a graph. Even left it in the graph with a note for futer users/reference :
For some reason putting in the property name as a string didn’t work. The value wasn’t updated.
What I did was getting the property name directly from the object, it is also a string but by doing that it has always worked in my tests :
Hello David, thanks you for your response.
Let me explain, excel can be a new file without problems, since the first routine I mentioned is in charge of exporting all the data in this order: Handle, Property Set, Properties and Values.
I show you an example in Excel of a test project:
Manually, the Excel would have to be modified so that the identifier was repeated.
That problem is what I have, the value is not updated, but sometimes that it uploads individual values … I do not find any sense.
As for what you say, I had a similar problem in Routine 01, and I fixed it as you indicate. But I wouldn’t know how to put it in routine 02, since the property is an Excel read.
Thank you very much again for your time.
Ok, so some pointers :
- You can definitely get dynamo to handle repeating the identifier when doing the export (Routine 1) I will suggest using dictionnaries for this.
- I will say you need the toolkit’s DocumentExtensions.ObjectByHandle to get the actual object into the Object.UpdateProperty node, as I think an issue may arise if not (haven’t tested)
- You can use the object then, to extract the properties name as explained in my post before
- Finally, I believe the main issue you could have is getting lists into this Object.UpdateProperty node. When I tested this I was using lists of different sizes and just could’nt get the lacing to work. I solved this by using more than one of the Object.UpdateProperty nodes, to handle each property independently. However this is not feasible for you as the number could be very high and varyiing… Try testing with lists with the same size, maybe it works.
Finally, even though you said no python involved, I do recommend using the samples provided. Especially the csv ones since they do exactly the equivalent of your routine 1 and routine 2. It can save you a lot of time and work. Why create something that already exists ?