Is there any way to get the properties of the object TinVolumeSurface

Hi BricsCad user,

I'm working with the BricsCad V21 CIVIL Modul. My question is:
Is there any way to get the properties of the object TinVolumeSurface
like "cut volume" and "fill volume" via LISP? I need it, to use the
result in an other LISP routine.
I tried it with the following Lisp-Code. But I can get only LAYER or COLOR.

(defun c:volume ()
(setq ent (entsel "\n---> Select Volume Surface:"))
(setq ename (car ent))
(setq oname (vlax-ename->vla-object ename))
(setq lay (vlax-get-property oname 'layer))
(setq col (vlax-get-property oname 'color))
; (setq cut (vlax-get-property oname 'cut volume))
(princ lay)
; (princ cut)
(princ)
)

Answers

  • Torsten Moses
    edited January 25

    Hello,

    there should be 2 approaches to retrieve the properties of a TinSurface resp. TinVolumeSurface :

    1. dedicated LISP TinSurface interface
      download the free LDSP documentation from
      https://www.bricsys.com/applications/a/?lisp-developer-support-package-(ldsp)-a720-al1176
      (or see the online developer docs)
      there are > 100 LISP TinSurface/TinVolumeSurface functions, all named with prefix "tin:"

    2. since V21, the "Generic Properties Functions" functions are available (like as in AutoLISP) :
      (dumpallproperties ename [context])
      (getpropertyvalue ename property)
      (setpropertyvalue ename property value)
      (ispropertyvalid ename property)

    This allows to list/query/edit virtually any property of any object or entity ...
    other than in AutoLISP, our implementation additionally covers properties from all "verticals" like BIM, MCAD, SheetMetal, Civil TinSurface etc.;
    just run (dumpallproperties ename) on your TinSurface/TinVolumeSurface :smile:

    As remark, there is no COM based interface (vlax-get-property) for our Civil TinSurface objects, as those would be Windows-only ... while the mentioned 2 interfaces are generic on all platforms Windows/Linux/Mac; also not planned.

    hope this will help ?
    Btw., with V21.2 the TinSurface LISP interface will be significantly extended, just download the updated LDSP docs then.

    many greetings !

  • Many thanks Mr. Moses. This was a good link. I have found the functions for TIN.
    Have a good time.
    Geotholit

  • @Torsten Moses said:
    there should be 2 approaches to retrieve the properties of a TinSurface resp. TinVolumeSurface :

    Please tell me, which of the proposed methods is more preferable in the long term?

  • Hello BearDyugin :smile:

    wrong question :smile:
    It is not about "which of the proposed methods is more preferable in the long term" - both the normal "TinSurface" and the "TinVolumeSurface" are somewhat different objects, as they have different functionality ...
    so both will remain, as they serve different purposes.

    many greetings !

  • I apologize for the wrong question. I just didn’t quote your entire message.
    The question was which of the methods "dedicated LISP TinSurface interface" or "Generic Properties Functionsis" better to use?

  • Hello BearDyugin,

    The question was which of the methods "dedicated LISP TinSurface interface" or "Generic Properties Functions" is better to use ?

    hmm - good point :smile:
    both is valid, both will remain forever, both work on all platfoms ... so really no special preference.

    At least, if you do more with the TinSurface (and related) stuff, then maybe better to use the dedicated (tin:xxx) functions;
    if you only need a very few data, then maybe those "generic" functions are enough ...

    But again, its a personal choice; both function families will remain.
    many greetings !

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!