Is it possible to get all of the available UDP's available in a drawing? I know how to go through all of the part fields to get the data, but if the part was created before the UDPs where added to the AeccPartParamCfg.xml file, or not assigned a value, they won't be in the list.
I'd rather not have to parse the AeccPartParamCfg.xml to find what values are available.
Not sure about all properties, but some are avaialble, such as http://adndevblog.typepad.com/infrastructure/2013/04/civil-3d-net-api-cogo-point-how-to-read-a-user-...
Augusto the COGO Point UDP and the Pipe UDP's are programmed differently. The COGO Point UDP values are stored within the drawing and have a user interface that allows the for the user to change the values. Since this is the case the COGO Point's API allows us to grab the data and view it.
The Pipe UDP values are stored wihin an XML file outside of the drawing. There is no user interface for the user to set UDP pipe values, hence there is not API to access them. The way the code behaves is that the user goes into a pipe properties dialog box they see all of the available UDP values, pulled from the XML file. If the UDP values are not assigned a value then they are not stored within the Part Data Records, once the user sets a value the Part Data Record is then added to the pipe. Since the UDP values are not added to the Parts Record Data I can't get the list of available pipe UDP values. Since my command is generic I don't force the user to use a particular UDP name.
It would be nice to have an API call to encapsulate the available Pipe (and structure) UDP values along with the applicable properties.
Here is the class I created (and would like to see implemented), although I'd probably change the Boolean values starting with Is to an enum.
Public Class PipeNetworkUDP Property Name As String Property Desc As String Property Context As String Property Index As String Property DataType As String Property Usage As String Property Unit As String Property Visible As Boolean Property Internal As Boolean Property IsPipeUDP As Boolean Property IsStructureUDP As Boolean Property IsJunctionStructure As Boolean Property IsInletOutletStructure As Boolean Property SortGroupName As String Public Overrides Function ToString() As String Return Desc End Function End Class
Thanks for the comments and suggestions, I'll pass the information. Sorry the feature you need is not there yet...