Contour elevation labelling - need help with changing the routine from PLINE to 3DPOLYLINE

aridzv
edited April 2021 in LISP

Hi,
I've found the attached lisp that label contours.
the problem is that it for PLINE (x,y and Elevation)
I need help with changing it to work with 3DPOLYLINE (x,y,z), and the use the Z value of the first vertex of every line as the contour level value.
(actually, we can use any vertex of the contour line for the elevation value... I just thought it will be easier to use the first...)
Thanks,
Ari.

Comments

  • Instead of changing the Lisp, you need to convert your 3dPoly objects to LwPoly objects using the elevation of the first vertex. This will make for a more compact drawing file and your drawing will look more professional to anyone who receives it.

    You could request the DotSoft MapWorks 45-day full working evaluation to do this and it's likely you will like it's contour labeling options better as well.

  • @Terry Dotson said:
    Instead of changing the Lisp, you need to convert your 3dPoly objects to LwPoly objects using the elevation of the first vertex. This will make for a more compact drawing file and your drawing will look more professional to anyone who receives it.

    You could request the DotSoft MapWorks 45-day full working evaluation to do this and it's likely you will like it's contour labeling options better as well.

    @Terry Dotson Hi and thanks for the reply.
    have a look on this autocad add-on:
    https://apps.autodesk.com/ACD/en/Detail/Index?id=1924449314298874554&appLang=en&os=Win32_64
    do you have something like this including pricing?
    thanks,
    Ari.

  • @Terry Dotson
    One more thing - it is simple to change the contour to LWPOLYLINE.
    Let's say I will do it manually with CONVERTPOLY command and not trough the lisp.
    Can you help with the code that get the first vertex elevation and asgin it to a variable?
    Thanks,
    Ari.
  • For a LwPoly, the last line of this, using pure native lisp (not activex).

    (setq pik (entsel))
    (setq hnd (car pik))
    (setq ent (entget hnd))
    (setq elv (cdr (assoc 38 ent)))
    
  • aridzv
    edited April 2021

    O.K.
    Here is a lisp that do it (see attached lsp file).
    regards,
    Ari.