FastFiber

zoek sorteer

Gestart door martin, do 06 06 2013, 07:52:36

Vorige topic - Volgende topic

martin

hallo, kan iemand onderstaand lisp nakijken ? :
ik had een bestaande lisp aangepast, maar ik heb er verder niet zoveel verstand van,
hij geeft de melding : ; error: no function definition: DXG
groetjes, martin


(defun c:ml ( / txtlst)
   (setq zklay "DETAIL_NUMBERS")
   (setq sset (ssget "x" (list (cons 0 "TEXT") (cons 8 zklay))))
;; Samenstellen lijst met teksten
   (if sset (setq sslen (sslength sset)) (setq sslen 0))
   (while (> sslen 0)
      (setq sslen (1- sslen) ent (ssname sset sslen) txt (dxg 1 ent))
      (setq txtlen (strlen txt) lstcar (substr txt txtlen 1))
      (if (or (= lstcar "+") (= lstcar "*"))
         (setq txt (substr txt 1 (1- txtlen)))
      )
      (setq txtlst (append txtlst (list txt)))
   )
   (if (not txtlst)
      (progn
         (alert (strcat "Geen teksten op layer " zklay " gevonden"))
         (exit)
      )
   )
;; sorteren en dubbele verwijderen
   (setq txtlst2 (acad_strlsort txtlst))
   (setq tel 0 prvtxt nil txtlst nil)
   (while (< tel (length txtlst2))
      (setq txt (nth tel txtlst2))
      (cond
         ((not prvtxt)
             (setq prvtxt txt)
         )
         ((= txt prvtxt)
             (princ)
         )
         (T
             (setq txtlst (append txtlst (list prvtxt)))
             (setq prvtxt txt)
         )
      )
      (setq tel (1+ tel))
   )
   (setq txtlst (append txtlst (list prvtxt)))
   (setq filenm (strcat (getvar "dwgprefix") "details.lst"))
   (setq f1 (open filenm "w"))
   (foreach txt txtlst
      (write-line txt f1)
   )
   (close f1)
   (alert (strcat (itoa (length txtlst)) " details in " filenm " geplaatst."))
   (princ)
)

HofCAD

#1
Beste Martin,

Je mist de functie dxg bij je programma!
Waarschijnlijk is dit de funtie:
(defun dxg (code ent)
  (cdr (assoc 1 (entget ent)))
)


Met vriendelijke groet, HofCAD CSI.
ACADcadabra

martin

ja, de melding is weg, bedankt daarvoor, maar hij sorteert maar 1 tekst, terwijl er ca. 300 teksten op deze laag staan. weet u hoe dat kan ? groet, Martin

FastFiber