Jump to content

Export coordinates of vertices and Object Data


jes_g

Recommended Posts

Sample.dwg

 

Hi all,

 

I want to write a program which will export the coordinates of vertices for selected polylines with Object Data which corresponds to each polyline. Please refer to a sample drawing attached with this thread.

 

I am happy with this program to export coordinates

; ----------------------------------------------------------------------
;             (Export LWPOLYLINE Vertices & Points to File)
;            Copyright (C) 2000 DotSoft, All Rights Reserved
;                   Website: http://www.dotsoft.com
; ----------------------------------------------------------------------
; DISCLAIMER:  DotSoft Disclaims any and all liability for any damages
; arising out of the use or operation, or inability to use the software.
; FURTHERMORE, User agrees to hold DotSoft harmless from such claims.
; DotSoft makes no warranty, either expressed or implied, as to the
; fitness of this product for a particular purpose.  All materials are
; to be considered ‘as-is’, and use of this software should be
; considered as AT YOUR OWN RISK.
; ----------------------------------------------------------------------
;;Revised 8/23/07 CAB to report coordinates in current UCS
(defun c:ptexport ()
 (setq sset (ssget '((-4 . "<OR")(0 . "POINT")
                     (0 . "LWPOLYLINE")(-4 . "OR>"))))
 (if sset
   (progn
     (setq itm 0 num (sslength sset))
     (setq fn (getfiled "Point Export File" "" "txt" 1))
     (if (/= fn nil)
       (progn
         (setq fh (open fn "w"))
         (while (< itm num)
           (setq hnd (ssname sset itm))
           (setq ent (entget hnd))
           (setq obj (cdr (assoc 0 ent)))
           (cond
             ((= obj "POINT")
               (setq pnt (cdr (assoc 10 ent)))
               (setq pnt (trans pnt 0 1));;**CAB
               (princ (strcat (rtos (car pnt) 2  ","
                              (rtos (cadr pnt) 2  ","
                              (rtos (caddr pnt) 2 ) fh)
               (princ "\n" fh)
             )
             ((= obj "LWPOLYLINE")
               (if (= (cdr (assoc 38 ent)) nil)
                 (setq elv 0.0)
                 (setq elv (cdr (assoc 38 ent)))
               )
               (foreach rec ent
                 (if (= (car rec) 10)
                   (progn
                     (setq pnt (cdr rec))
                     (setq pnt (trans pnt 0 1));;**CAB
                     (princ (strcat (rtos (car pnt) 2  ","
                                    (rtos (cadr pnt) 2  ","
                                    (rtos elv 2 ) fh)
                     (princ "\n" fh)
                   )
                 )
               )
             )
             (t nil)
           )
           (setq itm (1+ itm))
         )
         (close fh)
       )
     )
   )
 )
 (princ)
)
(princ "\nPoint Export loaded, type PTEXPORT to run.")
(princ)

 

Now I want to add Object data such as:

1. For polylines on 'LVCable' layer - CSAMetric, Conductor, FeederNo, NoOfCores

2. For polylines on other layers - CSABlue, CSANeutral, CSARed, CSAYellow, FeederNo

 

Thank you

Best wishes,

Jes G

 

Sample.dwg

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...