| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| | |
 | CIDEON Sparify - der digitale Ersatzteilkatalog für alle, eine Pressemitteilung
|
|
Autor
|
Thema: Nummerierung mit drei Stellen (1278 / mal gelesen)
|
xem Mitglied Zeichner
  
 Beiträge: 859 Registriert: 07.08.2008 Software: AutoCAD 2022 - 64bit Windows 10 Pro - 64bit PDFCreator 1.0.2 - 32bit Ghostscript 9.0 - 64bit PDF-XChange Viewer - 64bit GIMP 2.6.8 - 64bit MS Office 2013 - 32bit Opera 12 - 32bit MacroX - 32bit 7-zip - 64bit ----------------------- Hardware: Intel i5 680 3,6GHz @ 4GHz 8GB RAM 1333MHz nVidia GTX 460 1024MB Intel SSD 2.5 80GB X25-M Samsung SyncMaster 245B+ Iiyama ProLite E1900s Logitech mx518 Logitech G11 Roccat Sense Glacier Blue
|
erstellt am: 28. Nov. 2019 09:04 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich lasse mir mit dem folgenden LISP eine Polylinie nummerieren. Code: (defun c:test ( / e i j m n p s ) (if (setq s (ssget '((0 . "LWPOLYLINE")))) (repeat (setq i (sslength s)) (setq e (ssname s (setq i (1- i))) n (cdr (assoc 210 (entget e))) m (vlax-curve-getendparam e) j -1 ) (while (<= (setq j (1+ j)) m) (setq p (trans (vlax-curve-getpointatparam e j) 0 e)) (entmakex (list (cons 0 "TEXT") (cons 7 (getvar 'TEXTSTYLE)) (cons 40 (getvar 'TEXTSIZE)) (cons 10 p) (cons 11 p) (cons 72 1) (cons 73 2) (cons 1 (itoa (1+ j))) (cons 210 n) ) ) ) ) ) (princ) )
Jetzt möchte ich den Text aber immer dreistellig, also nicht nur die Nummer 1 sondern die Nummer 001 haben. Hat da einer eine Idee? Danke ------------------ Error in Layer 8 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13533 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 28. Nov. 2019 09:15 <-- editieren / zitieren --> Unities abgeben:          Nur für xem
|
cadffm Moderator 良い精神
       

 Beiträge: 22689 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 28. Nov. 2019 09:16 <-- editieren / zitieren --> Unities abgeben:          Nur für xem
|
xem Mitglied Zeichner
  
 Beiträge: 859 Registriert: 07.08.2008 Software: AutoCAD 2022 - 64bit Windows 10 Pro - 64bit PDFCreator 1.0.2 - 32bit Ghostscript 9.0 - 64bit PDF-XChange Viewer - 64bit GIMP 2.6.8 - 64bit MS Office 2013 - 32bit Opera 12 - 32bit MacroX - 32bit 7-zip - 64bit ----------------------- Hardware: Intel i5 680 3,6GHz @ 4GHz 8GB RAM 1333MHz nVidia GTX 460 1024MB Intel SSD 2.5 80GB X25-M Samsung SyncMaster 245B+ Iiyama ProLite E1900s Logitech mx518 Logitech G11 Roccat Sense Glacier Blue
|
erstellt am: 28. Nov. 2019 09:49 <-- editieren / zitieren --> Unities abgeben:         
Danke, das funktioniert schon. Jetzt möchte ich noch ein Prefix davor eingeben. Ist getsting richtig und wie bekomme ich das Prefix vor die Zahl? Code: (defun c:test ( / e i j m n p s PFX ) (setq PFX (getstring "\nPrefix")) (if (setq s (ssget '((0 . "LWPOLYLINE")))) (repeat (setq i (sslength s)) (setq e (ssname s (setq i (1- i))) n (cdr (assoc 210 (entget e))) m (vlax-curve-getendparam e) j -1 ) (while (<= (setq j (1+ j)) m) (setq p (trans (vlax-curve-getpointatparam e j) 0 e)) (entmakex (list (cons 0 "TEXT") (cons 7 (getvar 'TEXTSTYLE)) (cons 40 (getvar 'TEXTSIZE)) (cons 10 p) (cons 11 p) (cons 72 1) (cons 73 2) (cons 1 (FILLSTR(itoa (1+ j))3)) (cons 210 n) ) ) ) ) ) (princ) ) (defun FILLSTR(STR ANZ) (while (<(strlen STR)ANZ)(setq STR(strcat "0" STR))) STR )
------------------ Error in Layer 8 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13533 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 28. Nov. 2019 10:06 <-- editieren / zitieren --> Unities abgeben:          Nur für xem
(defun c:test ( / e i j m n p s PFX FILLSTR) (defun FILLSTR(STR ANZ) (while (<(strlen STR)ANZ)(setq STR(strcat "0" STR))) STR ) (setq PFX (getstring "\nPrefix")) (if (setq s (ssget '((0 . "LWPOLYLINE")))) (repeat (setq i (sslength s)) (setq e (ssname s (setq i (1- i))) n (cdr (assoc 210 (entget e))) m (vlax-curve-getendparam e) j -1 ) (while (<= (setq j (1+ j)) m) (setq p (trans (vlax-curve-getpointatparam e j) 0 e)) (entmakex (list (cons 0 "TEXT") (cons 7 (getvar 'TEXTSTYLE)) (cons 40 (getvar 'TEXTSIZE)) (cons 10 p) (cons 11 p) (cons 72 1) (cons 73 2) (cons 1 (strcat PFX(FILLSTR(itoa (1+ j))3))) (cons 210 n) ) ) ) ) ) (princ) ) ------------------ Also ich finde Unities gut ... und andere sicher auch ---------------------------------------
- Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
xem Mitglied Zeichner
  
 Beiträge: 859 Registriert: 07.08.2008 Software: AutoCAD 2022 - 64bit Windows 10 Pro - 64bit PDFCreator 1.0.2 - 32bit Ghostscript 9.0 - 64bit PDF-XChange Viewer - 64bit GIMP 2.6.8 - 64bit MS Office 2013 - 32bit Opera 12 - 32bit MacroX - 32bit 7-zip - 64bit ----------------------- Hardware: Intel i5 680 3,6GHz @ 4GHz 8GB RAM 1333MHz nVidia GTX 460 1024MB Intel SSD 2.5 80GB X25-M Samsung SyncMaster 245B+ Iiyama ProLite E1900s Logitech mx518 Logitech G11 Roccat Sense Glacier Blue
|
erstellt am: 28. Nov. 2019 10:58 <-- editieren / zitieren --> Unities abgeben:         
|