| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Elemente am Fadenkreuz (hängend) einfügen (783 mal gelesen)
|
dschu Mitglied techn. angestellter
Beiträge: 18 Registriert: 03.09.2002
|
erstellt am: 14. Okt. 2002 10:15 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, ich habe eine Frage. Ich habe eine Funktion geschrieben in der nach Eingabe von einem Einfügepunkt und anschließender Eingabe von Längen,Höhen etc. eine Anzahl von Elemente (Linien Punkte und Maße) berechnet und gezeichnet werden. Nun möchte ich aber den Einfügepunkt erst am Ende setzen. (Die einzufügenden Elemente sollen am Fadenkreuz „hängen“). Ich habe keinen Schimmer wie das funktionieren könnte. Kurzes Beispiel.: IST 1. Einfügepunkt angeben 2. Längen Höhen Text etc. eingeben. 3. Berechnen/Zeichnen der Elemente 4. Fertig. SOLL: 1. Längen Höhen Text etc. eingeben. 2. Berechnen/Zeichnen der Elemente 3. Einfügepunkt abfragen (Elemente sollten am Fadenkreuz „hängen) Es wäre nett wenn mir jemand auf die „Sprünge“ halfen kann.... Gruß dschu Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 14. Okt. 2002 10:24 <-- editieren / zitieren --> Unities abgeben: Nur für dschu
Hallo Dschu, ein Hilfskonstrukt wäre: Die Elemente im Punkt 0,0 einfügen und dann den Schieben-Befehl aufrufen. Das geht aber nur, wenn das Schieben wirklich als letztes vom Programm bewerkstelligt werden soll. Dann kannst du den Schieben- Befehl im Programm unvollständig beenden. (command "_.move" "L" "" "0,0") In dieser Zeile fehlt der Zielpunkt. Sollten noch weitere Befehle in der Lisp-Datei folgen, laufen die auf einen Fehler. Was anderes fällt mir im Moment nicht ein. Vielleicht hilft's dir ja. Grüße Holger ------------------ Holger Brischke CADlon - Lisp over night Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dschu Mitglied techn. angestellter
Beiträge: 18 Registriert: 03.09.2002
|
erstellt am: 15. Okt. 2002 07:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, danke für den Tip; ich habe auch gleich die Befehle "cutclip" und "pasteclip" ausprobiert. Es funktioniert. Ist aber nicht so wie ich's mir vorstelle. Die Elemente sollten drehbar, verschiebbar und sogar evtl. gespiegelt werden. Kennt jemand eine Möglichkeit innerhalb einer Zeichnung aus den Elementen so eine Art internes/en "Makro"/"Block" zu erstellen und diesen dann auszuschneiden etc. ? Du weißt schon die Eierlegendewollmilchsau. Falls jemand noch eine Idee hat bitte Melden. Ansonsten noch einen schönen Tag Gruß dirk (dschu) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Helmut Schepers Mitglied
Beiträge: 35 Registriert: 01.11.2001 AutoCad 2000, AutoCAd 2002, Windows XP-pro Treppenbau-Software
|
erstellt am: 15. Okt. 2002 07:48 <-- editieren / zitieren --> Unities abgeben: Nur für dschu
Hallo, hier mal ein kleines Beispiel in Lisp, wie so etwas machen könnte. Ich hoffe es hilft die weiter. Gruß Helmut (defun c:merk( / ab aw) ;letztes Element merken (setq ab (entlast)) ;neue Elemente zeichnen (command "kreis" (list 50 50) 50) (command "kreis" (list 50 50) 25) (command "rechteck" (list 0 0) (list 100 100)) ;wenn schon Elemente in der Zeichnung vorhanden sind, ;dann auf erstes neues Element (if ab(setq ab (entnext ab))) ;Auswahlsatz erzeugen (setq aw(ssadd)) ;wenn schon Elemente in der Zeichnung waren, ;dann Auswahlsatz mit alle neuen Elementen erstellen (cond (ab (while ab (setq aw (ssadd ab aw) ab (entnext ab)) ) ) ;wenn Zeichnung leer war, dann alles auswählen ('T (setq aw (ssget "X"))) ) ;Auswahlsatz verschieben (command "_move" aw "" (list 0 0) pause) (setq aw 'nil) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dschu Mitglied techn. angestellter
Beiträge: 18 Registriert: 03.09.2002
|
erstellt am: 16. Okt. 2002 07:29 <-- editieren / zitieren --> Unities abgeben:
|