I am trying to write a graph that fully transforms an incoming CAD base to our CAD linework and block styles. I have almost figured out the whole thing out except for 2 hang-ups.
Problem: The base we get has a layer that contains 3 different representations of utilities pipe (as lines and polylines) on the same layer. They are differentiated by their line types.
I am trying to write a python script that takes 2 inputs:
IN = A filtered list of objects, originally filtered by “All Objects On Layer.
And IN = a string value that is the line type I wish to filter by. The script provides an output of only the objects from IN that have the line type from IN.
I have been trying on my own by looking at the API and reviewing Paolo’s SetAllObjectsColorByLayer script and I can’t seem to get the script to work. Either I get an error about not calling the .LineType method to the proper object or I keep getting empty lists.
Problem: The base we get has manual definitions set for line weights. I would like to set them all ByLayer. .LineWeight method only seems to accept 0 as an acceptable value. LISP accepts -3 as Default value.
I had a look at Paolo’s SetAllObjectsColorByLayer and it get me 99% there. I had a look at the API (Autodesk.Civil.DatabaseServices.Styles> DisplayStyle Class > DisplayStyle Members > DisplayStyle.LineWeight Property) and wrote it into the script. The problem is that the script is only accepting 0 for the value, which sets the line weights to 0 mm. It won’t accept -3 for default or any of the other number values. Where do you guys find a list of acceptable values for your methods?
Thank you for any help you can give.