Jump to content

points of a polyline lisp routine


Emily_83

Recommended Posts

I as wondering if anyone new of or had a routine that counts the number of points(verticies) of a polyline,

plus the x,y,z coordinates and saves it as a .txt file or excel or something??

any help would be appreciated.

 

 

Emily

Link to comment
Share on other sites

Try this...the filename will print to the command line when completed:

 

(defun c:pts2file (/ pts e file openf)
 (vl-load-com)
 (if (and (setq e (car (entsel)))
      (= (cdr (assoc 0 (entget e))) "LWPOLYLINE")
      (setq pts (mapcar 'cdr
                (vl-remove-if-not
                  (function (lambda (pt) (= (car pt) 10)))
                  (entget e)
                )
            )
      )
      (setq file (strcat (getvar 'dwgprefix)
                 (getvar 'dwgname)
                 "__points.txt"
             )
      )
      (setq openf (open file "w"))
     )
   (progn
     (foreach pt pts
   (write-line (vl-prin1-to-string pt) openf)
     )
     (close openf)
   )
 )
 (princ file)
 (princ)
)

Link to comment
Share on other sites

Here is an old routine the extract PLINE path points and included arc segments:

;;;Returns ECS Point Values Of PLINE
(defun findpath (en / pl ed sp_flg cl_flg bf nl i vp bf vf pl_flg)
 (and (/= (type en) 'ENAME)
      (princ "\n*** FindPath Error *** ")
      (exit))
 (if (= "LWPOLYLINE" (cdr (assoc 0 (entget en))))
     (command "_.CONVERTPOLY" "_Heavy" en ""))
 (setq ed (entget en))
 (and (/= "POLYLINE" (cdr (assoc 0 ed)))
      (princ "\n*** POLYLINEs Only *** ")
      (exit))
 (setq pl_flg (cdr (assoc 70 ed)))
 (and (= (logand pl_flg 1) 1)
      (setq cl_flg T))
 (and (= (logand pl_flg 4) 4)
      (setq sp_flg T))
 (and (or (= (logand pl_flg 16) 16)
          (= (logand pl_flg 64) 64))
      (princ "\nInvalid POLYLINE Mesh")
      (exit))
 (while (/= "SEQEND" (cdr (assoc 0 (entget (entnext en)))))
        (setq en (entnext en)
              ed (entget en)
              vp (cdr (assoc 10 ed))
              bf (cdr (assoc 42 ed))
              vf (cdr (assoc 70 ed)))
        (cond; ((= "SEQEND" (cdr (assoc 0 (entget (entnext en)))))
             ;  (setq pl (cons vp pl)))
              ((and (/= bf 0.0)
                    (/= "SEQEND" (cdr (assoc 0 (entget (entnext en))))))
               (add_arc vp (cdr (assoc 10 (entget (entnext en)))) bf))
              ((and (/= bf 0.0)
                    cl_flg
                    (= "SEQEND" (cdr (assoc 0 (entget (entnext en))))))
               (add_arc vp (last pl) bf))
              ((and (= bf 1.0)
                    (not cl_flg)
                    (= "SEQEND" (cdr (assoc 0 (entget (entnext en))))))
               (princ))
              ((and sp_flg
                    (= bf 0.0)
                    (= (logand vf  8))
               (setq pl (cons vp pl)))
              ((and (not sp_flg)
                    (= bf 0.0)
                    (/= (logand vf  8))
               (setq pl (cons vp pl)))))
 (if (and cl_flg
          (not (equal (car pl) (last pl))))
     (setq pl (cons (last pl) pl)))
 (setq i 0)
 (while (< i (length pl))
        (while (equal (nth i pl) (nth (1+ i) pl) 0.0001)
               (setq i (1+ i)))
        (and (nth i pl)
             (setq nl (cons (nth i pl) nl)))
        (setq i (1+ i)))
  nl)

(defun add_arc (sp ep bulge / alist x1 x2 y1 y2 cotbce
               ce ra sa ea ia inc qty na temp)
 (setq x1 (car sp);;Modified Bulge
       x2 (car ep);;Conversion By
       y1 (cadr sp);;Duff Kurland
       y2 (cadr ep);;Autodesk, Inc.
   cotbce (/ (- (/ 1.0 bulge) bulge) 2.0)
       ce (list (/ (+ x1 x2 (- (* (- y2 y1) cotbce))) 2.0)
                (/ (+ y1 y2    (* (- x2 x1) cotbce) ) 2.0)
                (caddr sp))
       ra (distance ce sp)
       sa (atan (- y1 (cadr ce)) (- x1 (car ce)))
       ea (atan (- y2 (cadr ce)) (- x2 (car ce))))
 (if (minusp sa)
     (setq sa (+ sa (* 2.0 pi))))
 (if (minusp ea)
     (setq ea (+ ea (* 2.0 pi))))
 (if (minusp bulge)
     (setq temp sa sa ea ea temp))
 (if (> sa ea)
     (setq ia (+ (- (* pi 2.0) sa) ea))
     (setq ia (- ea sa)))
 (setq qty (abs (fix (/ ia (/ pi 16)))))
 (if (< qty 2)
     (setq qty 2))
 (setq na sa
      inc (/ (abs ia) qty))
 (repeat (1+ qty)
     (setq alist (cons (polar ce na ra) alist)
              na (+ sa inc)
              sa na))
 (if (not (equal sp (car alist) 0.0001))
     (setq alist (reverse alist)))
 (foreach a alist
     (setq pl (cons a pl))))

(setq pl (findpath (entlast)))

You could then export the list pl to and ascii file -David

Link to comment
Share on other sites

Here would be an export type of routine. -David

 

[b][color=BLACK]([/color][/b]defun c:fpth [b][color=FUCHSIA]([/color][/b]/ s ss ppl fn wf[b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]or [b][color=MAROON]([/color][/b]not ss[b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]> [b][color=GREEN]([/color][/b]sslength ss[b][color=GREEN])[/color][/b] 1[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
         [b][color=NAVY]([/color][/b]princ [color=#2f4f4f]"\nSelect 1 PLINE"[/color][b][color=NAVY])[/color][/b]
         [b][color=NAVY]([/color][/b]setq ss [b][color=MAROON]([/color][/b]ssget '[b][color=GREEN]([/color][/b][b][color=BLUE]([/color][/b]0 . [color=#2f4f4f]"*POLYLINE"[/color][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]setq s [b][color=NAVY]([/color][/b]ssname ss 0[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]setq ppl [b][color=NAVY]([/color][/b]findpath s[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]or [b][color=MAROON]([/color][/b]not fn[b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]not [b][color=GREEN]([/color][/b]snvalid fn[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
        [b][color=NAVY]([/color][/b]setq fn [b][color=MAROON]([/color][/b]getstring [color=#2f4f4f]"\nOutput File Name:   "[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]setq wf [b][color=NAVY]([/color][/b]open [b][color=MAROON]([/color][/b]strcat fn [color=#2f4f4f]".DAT"[/color][b][color=MAROON])[/color][/b] [color=#2f4f4f]"w"[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]write-line [color=#2f4f4f]"[b][color=NAVY]([/color][/b]setq path_list '[b][color=MAROON]([/color][/b]"[/color] wf[b][color=MAROON])[/color][/b]
 [b][color=MAROON]([/color][/b]foreach p ppl
  [b][color=GREEN]([/color][/b]write-line
   [b][color=BLUE]([/color][/b]strcat [color=#2f4f4f]"[b][color=RED]([/color][/b]"[/color] [b][color=PURPLE]([/color][/b]rtos [b][color=TEAL]([/color][/b]car p[b][color=TEAL])[/color][/b] 2 12[b][color=PURPLE])[/color][/b] [color=#2f4f4f]" "[/color]
               [b][color=PURPLE]([/color][/b]rtos [b][color=TEAL]([/color][/b]cadr p[b][color=TEAL])[/color][/b] 2 12[b][color=PURPLE])[/color][/b] [color=#2f4f4f]" "[/color]
               [b][color=PURPLE]([/color][/b]rtos [b][color=TEAL]([/color][/b]caddr p[b][color=TEAL])[/color][/b] 2 12[b][color=PURPLE])[/color][/b] [color=#2f4f4f]"[b][color=RED])[/color][/b]"[/color][b][color=BLUE])[/color][/b] wf[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
 [b][color=MAROON]([/color][/b]write-line [color=#2f4f4f]"[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]"[/color] wf[b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]close wf[b][color=FUCHSIA])[/color][/b]
 [b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

Link to comment
Share on other sites

Another:

 

[b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] getCoord  [b][color=RED]([/color][/b]pl [b][color=BLUE]/[/color][/b] pl[b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]vl-load-com[/color][/b][b][color=RED])[/color][/b]
 
 [b][color=RED]([/color][/b][b][color=BLUE]or[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=DARKRED]'[/color][/b]VLA-OBJECT [b][color=RED]([/color][/b][b][color=BLUE]type[/color][/b] pl[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] pl [b][color=RED]([/color][/b][b][color=BLUE]vlax-ename->vla-object[/color][/b] pl[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]eq[/color][/b] [b][color=#ff00ff]"AcDbPolyline"[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]vla-get-ObjectName[/color][/b] pl[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b]vlax-list->2D-point
     [b][color=RED]([/color][/b][b][color=BLUE]vlax-get[/color][/b] pl [b][color=DARKRED]'[/color][/b]Coordinates[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=BLUE]nil[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

[b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] vlax-list->2D-point  [b][color=RED]([/color][/b]lst[b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]if[/color][/b] lst
   [b][color=RED]([/color][/b][b][color=BLUE]cons[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]list[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] lst[b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] lst[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
         [b][color=RED]([/color][/b]vlax-list->2D-point [b][color=RED]([/color][/b][b][color=BLUE]cddr[/color][/b] lst[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

[b][color=RED]([/color][/b][b][color=BLUE]defun[/color][/b] c:vWrite  [b][color=RED]([/color][/b][b][color=BLUE]/[/color][/b] oFile en[b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] oFile [b][color=RED]([/color][/b][b][color=BLUE]open[/color][/b]
               [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=#ff00ff]"DWGPREFIX"[/color][/b][b][color=RED])[/color][/b]
                       [b][color=RED]([/color][/b][b][color=BLUE]substr[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=#ff00ff]"DWGNAME"[/color][/b][b][color=RED])[/color][/b] [b][color=#009900]1[/color][/b]
                               [b][color=RED]([/color][/b][b][color=BLUE]-[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strlen[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]getvar[/color][/b] [b][color=#ff00ff]"DWGNAME"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#009900]4[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=#ff00ff]".txt"[/color][/b][b][color=RED])[/color][/b] [b][color=#ff00ff]"w"[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]while[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]setq[/color][/b] en [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]entsel[/color][/b] [b][color=#ff00ff]"\nSelect Polyline: "[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]foreach[/color][/b] x [b][color=RED]([/color][/b]getCoord en[b][color=RED])[/color][/b]
     [b][color=RED]([/color][/b][b][color=BLUE]write-line[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]strcat[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]rtos[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]car[/color][/b] x[b][color=RED])[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]chr[/color][/b] [b][color=#009900]44[/color][/b][b][color=RED])[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]rtos[/color][/b] [b][color=RED]([/color][/b][b][color=BLUE]cadr[/color][/b] x[b][color=RED])[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b] oFile[b][color=RED])[/color][/b][b][color=RED])[/color][/b]
   [b][color=RED]([/color][/b][b][color=BLUE]write-line[/color][/b] [b][color=#ff00ff]""[/color][/b] oFile[b][color=RED])[/color][/b][b][color=RED])[/color][/b]

 [b][color=RED]([/color][/b][b][color=BLUE]close[/color][/b] oFile[b][color=RED])[/color][/b]
 [b][color=RED]([/color][/b][b][color=BLUE]princ[/color][/b][b][color=RED])[/color][/b][b][color=RED])[/color][/b]

Type vWrite to invoke

Link to comment
Share on other sites

  • 1 year later...

Hi Everybody!!

 

I just found this post by searching google, so this is my first post here. I dont know if you guys have bothered with this before, but hope somebody can help with this.

 

How can I make a lisp that generate the vertices of all selected 3DPolylines?

Link to comment
Share on other sites

Another:

 

[b][color=red]([/color][/b][b][color=blue]defun[/color][/b] getCoord  [b][color=red]([/color][/b]pl [b][color=blue]/[/color][/b] pl[b][color=red])[/color][/b]
 [b][color=red]([/color][/b][b][color=blue]vl-load-com[/color][/b][b][color=red])[/color][/b]

 [b][color=red]([/color][/b][b][color=blue]or[/color][/b] [b][color=red]([/color][/b][b][color=blue]eq[/color][/b] [b][color=darkred]'[/color][/b]VLA-OBJECT [b][color=red]([/color][/b][b][color=blue]type[/color][/b] pl[b][color=red])[/color][/b][b][color=red])[/color][/b]
     [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] pl [b][color=red]([/color][/b][b][color=blue]vlax-ename->vla-object[/color][/b] pl[b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b]

 [b][color=red]([/color][/b][b][color=blue]if[/color][/b] [b][color=red]([/color][/b][b][color=blue]eq[/color][/b] [b][color=#ff00ff]"AcDbPolyline"[/color][/b] [b][color=red]([/color][/b][b][color=blue]vla-get-ObjectName[/color][/b] pl[b][color=red])[/color][/b][b][color=red])[/color][/b]
   [b][color=red]([/color][/b]vlax-list->2D-point
     [b][color=red]([/color][/b][b][color=blue]vlax-get[/color][/b] pl [b][color=darkred]'[/color][/b]Coordinates[b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=blue]nil[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b]

[b][color=red]([/color][/b][b][color=blue]defun[/color][/b] vlax-list->2D-point  [b][color=red]([/color][/b]lst[b][color=red])[/color][/b]
 [b][color=red]([/color][/b][b][color=blue]if[/color][/b] lst
   [b][color=red]([/color][/b][b][color=blue]cons[/color][/b] [b][color=red]([/color][/b][b][color=blue]list[/color][/b] [b][color=red]([/color][/b][b][color=blue]car[/color][/b] lst[b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]cadr[/color][/b] lst[b][color=red])[/color][/b][b][color=red])[/color][/b]
         [b][color=red]([/color][/b]vlax-list->2D-point [b][color=red]([/color][/b][b][color=blue]cddr[/color][/b] lst[b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b]

[b][color=red]([/color][/b][b][color=blue]defun[/color][/b] c:vWrite  [b][color=red]([/color][/b][b][color=blue]/[/color][/b] oFile en[b][color=red])[/color][/b]

 [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] oFile [b][color=red]([/color][/b][b][color=blue]open[/color][/b]
               [b][color=red]([/color][/b][b][color=blue]strcat[/color][/b] [b][color=red]([/color][/b][b][color=blue]getvar[/color][/b] [b][color=#ff00ff]"DWGPREFIX"[/color][/b][b][color=red])[/color][/b]
                       [b][color=red]([/color][/b][b][color=blue]substr[/color][/b] [b][color=red]([/color][/b][b][color=blue]getvar[/color][/b] [b][color=#ff00ff]"DWGNAME"[/color][/b][b][color=red])[/color][/b] [b][color=#009900]1[/color][/b]
                               [b][color=red]([/color][/b][b][color=blue]-[/color][/b] [b][color=red]([/color][/b][b][color=blue]strlen[/color][/b] [b][color=red]([/color][/b][b][color=blue]getvar[/color][/b] [b][color=#ff00ff]"DWGNAME"[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=#009900]4[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=#ff00ff]".txt"[/color][/b][b][color=red])[/color][/b] [b][color=#ff00ff]"w"[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b]

 [b][color=red]([/color][/b][b][color=blue]while[/color][/b] [b][color=red]([/color][/b][b][color=blue]setq[/color][/b] en [b][color=red]([/color][/b][b][color=blue]car[/color][/b] [b][color=red]([/color][/b][b][color=blue]entsel[/color][/b] [b][color=#ff00ff]"\nSelect Polyline: "[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b]
   [b][color=red]([/color][/b][b][color=blue]foreach[/color][/b] x [b][color=red]([/color][/b]getCoord en[b][color=red])[/color][/b]
     [b][color=red]([/color][/b][b][color=blue]write-line[/color][/b] [b][color=red]([/color][/b][b][color=blue]strcat[/color][/b] [b][color=red]([/color][/b][b][color=blue]rtos[/color][/b] [b][color=red]([/color][/b][b][color=blue]car[/color][/b] x[b][color=red])[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]chr[/color][/b] [b][color=#009900]44[/color][/b][b][color=red])[/color][/b] [b][color=red]([/color][/b][b][color=blue]rtos[/color][/b] [b][color=red]([/color][/b][b][color=blue]cadr[/color][/b] x[b][color=red])[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b] oFile[b][color=red])[/color][/b][b][color=red])[/color][/b]
   [b][color=red]([/color][/b][b][color=blue]write-line[/color][/b] [b][color=#ff00ff]""[/color][/b] oFile[b][color=red])[/color][/b][b][color=red])[/color][/b]

 [b][color=red]([/color][/b][b][color=blue]close[/color][/b] oFile[b][color=red])[/color][/b]
 [b][color=red]([/color][/b][b][color=blue]princ[/color][/b][b][color=red])[/color][/b][b][color=red])[/color][/b]

Type vWrite to invoke

 

Lee,

 

For CAD2002 your routine does not work with Polyline, only LWPolylines.

Link to comment
Share on other sites

Now here's a variation... this will first ask you to give the point number series i.e 101,102,103 the for a description "TBM" then the filename

i wrote this when i had to export a comma delineated point file for a Total station...

 

try it... that is if you want to pick the points (but really you dont need to with the above codes c";)

 

 
(defun c:wc (/ cdwg cms cutl pt_nm pt_ds pt_fn fso file ptw pn-vl wtxt ptwo)
  (vl-load-com)
  (setq cdwg (vla-get-activedocument (vlax-get-acad-object))
      cms (vla-get-modelspace cdwg)
      cutl (vla-get-utility cdwg)
      )
  (setq pt_nm (vla-getinteger cutl  "\nEnter Point Number: ")
      pt_ds (strcase (vla-GetString  cutl 1 "\nEnter Description Number: "))
      pt_fn (strcat (vla-get-path cdwg) "\\"
      (vla-GetString  cutl 1 "\nEnter File Name: ") ".txt")
        fso (vlax-create-object "Scripting.FileSystemObject")
   file (vlax-invoke-method
                  fso 'CreateTextFile pt_fn 8 :vlax-true )
   )
   (while
   (not (vl-catch-all-error-p
                   (vl-catch-all-apply (function
                           (lambda ()
   (setq ptw (vla-getpoint cutl ptwo "\nPick Coordinate point: "))
      ))))
      )
  
       (setq pn-vl  (vlax-safearray->list (vlax-variant-value ptw))
        wtxt (strcat (itoa pt_nm) ","  pt_ds ","
       (rtos (car pn-vl) 2 3) "," (rtos (cadr pn-vl) 2 3)
       "," (rtos (caddr pn-vl) 2 3)
        )
       )
    (vlax-invoke file 'Writeline wtxt)
  (setq pt_nm (1+ pt_nm) ptwo ptw ptw nil)
   
  );while
  
  (vlax-release-object fso)
  (vlax-invoke file 'close)
)
(prompt
 "\n>>>...Point File Export Loaded. Type WC to run...<<<"
)
(princ) 

 

the file would look like this:

100,TBM,20569877.492,152204453.880,0.000

101,TBM,20579318.229,152204453.880,0.000

102,TBM,20573236.557,152212156.895,0.000

 

Hope this helps :)

Link to comment
Share on other sites

  • 6 years later...

This post helped me a lot. But I would still want autoCad to prompt a window asking the user where does he want the file and with which name on it.

Can it be done?

If so, please comment heavily, the code. I'm smart, but pretty noob at lisp.

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...