|
Lisp : Polylinien abhängig vom Startpunkt versetzen
m.hacker am 28.08.2015 um 13:52 Uhr (1)
Hallo,wo ich stehe?Natürlich ganz am Anfang!Polylinien sind nicht immer geschlossen, kann aber vorkommen.Die Linien müssen immer 1.00m versetzt werdenMir schwebt folgende Lösung vor.Alle Polylinien wählen die versetzt werden sollen. Dann müsste für jede Polyline dieser Ablauf passieren. 1. Startkoordinaten (A) der Polylinie auslesen 2. Erste Segmentkoordinate(E) der Polyline auslesen 3.Linie zeichnen auf neuem Layer "temp" von A zu E mit einer Länge 1/2 AE 4.Linie drehen mit Basis A und Winkel 1 G ...
| In das Form Lisp wechseln |
|
Lisp : Polylinien abhängig vom Startpunkt versetzen
m.hacker am 31.08.2015 um 08:59 Uhr (1)
Hallo CAD-Huebner,das LISP macht genau das, was ich mir vorgestellt habe. Ich muss es jetzt noch genauer testen, aber erste versuche waren erfolgreich.Ich bin echt begeistert. DANKE!Ich würde es jetzt nur noch gerne verstehen.Die Linien werden in sset als "main entities only" gespeichertBeispiel Selection set: 924 oder Selection set: 8abVersetzt wird ja "obj" und mit (setq obj (vlax-ename-vla-object (ssname sset cnt))) wird pro Linie ein vla object erzeugt das versetzt werden kann?Die Abarbeitung der Schle ...
| In das Form Lisp wechseln |
|
Lisp : Polylinien abhängig vom Startpunkt versetzen
m.hacker am 31.08.2015 um 17:12 Uhr (1)
Code: (command "_-layer" "_make" "LINIE1_BGL" "_color" "T" "255,0,0" "" "L" "CONTINUOUS" "" "") (setvar "OFFSETDIST" 1) (setq sset (ssget "_X" (list (cons 0 "LWPOLYLINE")(cons 62 1)))) ;(cons 62 1) filtert zusätzlich nach Farbe rot (if ( (setq cnt (sslength sset)) 0) ; wenn mehr als 0 Polylinien gewählt wurden (progn (while (= (setq cnt (1- cnt)) 0) (setq obj (vlax-ename-vla-object (ssname sset cnt))) (vla-offset obj (getvar "OFFSETDIST")) ; versetzen (vla-put-layer (vlax-e ...
| In das Form Lisp wechseln |
|
Anzeige:
Anzeige: (Infos zum Werbeplatz)
|