Author Topic: list with interface names  (Read 377 times)

0 Members and 1 Guest are viewing this topic.

cadplayer

  • Bull Frog
  • Posts: 389
  • Autocad Civil3d, OpenDCL.Runtime, LISP, .NET (C#)
list with interface names
« on: May 04, 2021, 01:15:18 AM »
Hello!

Im 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 didnt 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")

BIGAL

  • Swamp Rat
  • Posts: 725
  • 30 + years of using Autocad
Re: list with interface names
« Reply #1 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
A man who never made a mistake never made anything

cadplayer

  • Bull Frog
  • Posts: 389
  • Autocad Civil3d, OpenDCL.Runtime, LISP, .NET (C#)
Re: list with interface names
« Reply #2 on: May 04, 2021, 06:27:38 AM »
thank you for replay BIGAL, Im wondering if you have a better understanding than I, how calls different interface. I test little with follow but I cant 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")

BIGAL

  • Swamp Rat
  • Posts: 725
  • 30 + years of using Autocad
Re: list with interface names
« Reply #3 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.
A man who never made a mistake never made anything

cadplayer

  • Bull Frog
  • Posts: 389
  • Autocad Civil3d, OpenDCL.Runtime, LISP, .NET (C#)
Re: list with interface names
« Reply #4 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

Grrr1337

  • Swamp Rat
  • Posts: 761
Re: list with interface names
« Reply #5 on: May 05, 2021, 09:28:25 AM »
thank you for replay BIGAL, Im wondering if you have a better understanding than I, how calls different interface. I test little with follow but I cant 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 and the reply of our valued Michael for his sub _FindProjIDs .
(apply ''((a b c)(a b c))
  '(
    (( f L ) (apply 'strcat (f L)))
    (( L ) (if L (cons (chr (car L)) (f (cdr L)))))
    (72 101 108 108 111 32 87 111 114 108 100)
  )
)

cadplayer

  • Bull Frog
  • Posts: 389
  • Autocad Civil3d, OpenDCL.Runtime, LISP, .NET (C#)
Re: list with interface names
« Reply #6 on: May 07, 2021, 03:14:01 AM »
Super thank you so much :-D