TheSwamp

Code Red => AutoLISP (Vanilla / Visual) => Topic started by: cadplayer on May 04, 2021, 01:15:18 AM

Title: list with interface names
Post by: cadplayer on May 04, 2021, 01:15:18 AM
Hello!

Iīm exploring how to connect with right Civil3D interface.
In work with Profileview I want draw ("Draw"-column in picture - checkbox true) from selected pipe-objects but I didnīt found right interface.
I tried with these examples (short question - is anywhere a documentation/name/list with all interfaces?)
Code: [Select]
(vla-getinterfaceobject *acad* (strcat "AeccXUiPipe.AeccPipeApplication.12.0"))
(vla-getinterfaceobject (vlax-get-acad-object) "AeccXUiLand.AeccApplication.12.0")
(https://infrasolutions.one/Work/Forum/Profile-PipeNetworks-Name-Draw.png)
Title: Re: list with interface names
Post by: BIGAL on May 04, 2021, 03:35:02 AM
Getting inside CIV3D can be difficult often answers are not where you think they are, even the toolspace names do not match database names.

I would (vlax-dump-object (vla-getinterfaceobject *acad* (strcat "AeccXUiPipe.AeccPipeApplication.12.0"))) as a start. Careful 12 may change per version, 2019 2020 2021 etc
Title: Re: list with interface names
Post by: cadplayer on May 04, 2021, 06:27:38 AM
thank you for replay BIGAL, Iīm wondering if you have a better understanding than I, how calls different interface. I test little with follow but I canīt see a logic
Code: [Select]
      (vla-getinterfaceobject (vlax-get-acad-object) (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))) ; Color
      (vla-getinterfaceobject (vlax-get-acad-object) (strcat "AutoCAD.AcadLayerStateManager." (substr (getvar "ACADVER") 1 2)))
      (vla-getinterfaceobject (vlax-get-acad-object) "AeccXUiPipe.AeccPipeApplication.12.0")
      (vla-getinterfaceobject (vlax-get-acad-object) "AeccXUiLand.AeccApplication.12.0") ;Civil3d database
      (vla-getinterfaceobject (vlax-get-acad-object) (strcat "ObjectDBX.AxDbDocument." (itoa (atoi (getvar "ACADVER")))))
      (vla-getinterfaceobject (vlax-get-acad-object) "autocad.securityparams.22")
      (vla-getinterfaceobject (vlax-get-acad-object) "MSXML.DOMDocument")
      (vla-getinterfaceobject (vlax-get-acad-object) "AeccXLand.AeccTinCreationData.12.0")
      (vla-getinterFaceObject (vlax-get-acad-object) "AeccXUiPipe.AeccPipeApplication.12.0")
Title: Re: list with interface names
Post by: BIGAL on May 04, 2021, 10:03:53 PM
What version of CIV3D are you running ?  13.2 is 2020 just type "About" to see the number

Post a sample dwg.

Command: (vlax-dump-objec t(vla-getinterfaceobject (vlax-get-acad-object) (strcat "AeccXUiPipe.AeccPipeApplication.12.0")))
And see what gets returned.
Title: Re: list with interface names
Post by: cadplayer on May 05, 2021, 12:00:37 AM
Civil 2018 -> 12.0
AeccXUiPipe.AeccPipeApplication.12.0
I would like understand where this string "AeccXUiPipe.AeccPipeApplication" defined to call "Pipe-interface"
It haves many other interfaces in both Autocad and Civil API, I would like more understand to work with them in ActiveX/COM
Title: Re: list with interface names
Post by: Grrr1337 on May 05, 2021, 09:28:25 AM
thank you for replay BIGAL, Iīm wondering if you have a better understanding than I, how calls different interface. I test little with follow but I canīt see a logic
Code: [Select]
      (vla-getinterfaceobject (vlax-get-acad-object) (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))) ; Color
      (vla-getinterfaceobject (vlax-get-acad-object) (strcat "AutoCAD.AcadLayerStateManager." (substr (getvar "ACADVER") 1 2)))
      (vla-getinterfaceobject (vlax-get-acad-object) "AeccXUiPipe.AeccPipeApplication.12.0")
      (vla-getinterfaceobject (vlax-get-acad-object) "AeccXUiLand.AeccApplication.12.0") ;Civil3d database
      (vla-getinterfaceobject (vlax-get-acad-object) (strcat "ObjectDBX.AxDbDocument." (itoa (atoi (getvar "ACADVER")))))
      (vla-getinterfaceobject (vlax-get-acad-object) "autocad.securityparams.22")
      (vla-getinterfaceobject (vlax-get-acad-object) "MSXML.DOMDocument")
      (vla-getinterfaceobject (vlax-get-acad-object) "AeccXLand.AeccTinCreationData.12.0")
      (vla-getinterFaceObject (vlax-get-acad-object) "AeccXUiPipe.AeccPipeApplication.12.0")

Hi, check this thread (http://www.theswamp.org/index.php?topic=52397.0) and the reply of our valued Michael for his sub _FindProjIDs .
Title: Re: list with interface names
Post by: cadplayer on May 07, 2021, 03:14:01 AM
Super thank you so much :-D