| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: systemvariable Rechteck (675 mal gelesen)
|
pietro Mitglied
Beiträge: 8 Registriert: 26.12.2002
|
erstellt am: 08. Jul. 2006 18:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute! Wenn man ein Rechteck zeichnet kann man nach dem klicken des ersten Eckpunktes die Option Abmessung verwenden, wo man Länge und Breite des Rechteckes eingeben kann. Meine Frage ist, kennt jemand die Systemvariable für Länge und Breite. Würde sie gerne in einem Lisp verwenden. Danke in voraus Peter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 08. Jul. 2006 19:09 <-- editieren / zitieren --> Unities abgeben: Nur für pietro
Hi, hierbei handelt es sich um keine Systemvariable sondern lediglich um relative Koordinateneingaben. Um damit in einem Lisp zu arbeiten musst du entweder die beiden relativen Werte zu einem Wertepaar zusammenstöpseln oder aber die Absolutkoordinaten über den zuvor gepickten Punkt + der beiden Werte errechnen und verwenden. ------------------ Grüsse Thomas EDIT:
Code:
(setq L (getdist "\Länge eingeben:")) (setq B (getdist "\Breite eingeben:")) (command "_rectangle" (getpoint) "D" L B)
(da muss man dann aber nochmal picken - frag mich aber bitte nicht auf die Schnelle warum...) [Diese Nachricht wurde von tunnelbauer am 08. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pietro Mitglied
Beiträge: 8 Registriert: 26.12.2002
|
erstellt am: 08. Jul. 2006 19:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Tunnelbauer,# danke für die Antwort. Mein Gedanke ist, AutoCAD merkt sich die Eingaben im Rechteckbefehl, das heißt AutoCAD muß die Werte ja irgendwo speichern (systemvariable). Ich möchte die Werte von meinen Lisp in die Variable speichern, damit die letzten Werte auch im Standart Rechteckbefehl vorhanden sind. Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 08. Jul. 2006 20:10 <-- editieren / zitieren --> Unities abgeben: Nur für pietro
Also ich behaupte mal, dass es dafür keine Sysvar gibt, sondern dass diese Werte in der Lisp-Routine verankert sind und acuh von dort ausgelesen werden... Als Beleg für keine vorhandene Sysvar >>> http://www.hyperpics.com/system_variables/index.asp Desweiteren: Teste einmal: Wenn du die Zeichnung offen hast und die Werte änderst merkt sie sich AC - schliesse die Zeichnung und öffne eine neue/dieselbe - der Wert ist wieder auf Default gesetzt. Somit müsste man in die rectangle.arx schauen können um zu wissen wie die Variable benannt ist - sonst hast du keine Chance (ausser du definerst selber was...) ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Fachplaner/in für Elektrotechnik (m/w/d) | Wir sind eine international tätige Unternehmensgruppe der Automatisierungstechnik und beschäftigen über 1.000 Mitarbeiter an diversen Standorten. Entwickelt werden speziell auf den jeweiligen Kundenwunsch zugeschnittene Lösungskonzepte für Unternehmen aus den verschiedensten Branchen - vom Mittelstand bis zur Großindustrie. Zur Verstärkung unseres Teams suchen wir am Standort Hamburg zum ... | Anzeige ansehen | Technischer Zeichner, Bauzeichner |
|
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004
|
erstellt am: 09. Jul. 2006 15:37 <-- editieren / zitieren --> Unities abgeben: Nur für pietro
Hallo Peter, da ich von arx keine Ahnung habe, hier ein kleiner Denkanstoß zum Beitrag von Thomas (... selbst definieren...). Die Profis hier im Forum haben da bestimmt was eleganteres "fertig"... Schau Dir einfach mal in lisp die "if"-Funktion an. Beispiel:
Code:
(if Eckpunkt nil (setq Eckpunkt (list (10.0 20.0))); Voreinstellung festlegen ) (defun MeinRechteck (/ Neupunkt) ;; [Abfrage von Thomas o.ä.] (prompt "\nWert für Eckpunkt <") (princ Eckpunkt) ; Voreinstellung (initget (+ 2 4)) (setq Neupunkt (getreal "> ? ") ; evaluiert nil bei [Return] ) ;; Falls für "Neupunkt" ein Wert eingegeben wurde ... (if (/= Neupunkt nil); "if Neupunkt" alleine zickt bei mir?! ;; ... dann verwende den neuen Wert für Eckpunkt, ansonsten mach nix (also Voreinstellung) (setq Eckpunkt Neupunkt) ) (command "_.rectangle" ...) )
Am besten, Du kopierst Dir den ganzen Wust mal in den Lisp-Editor, dann wird´s auch etwas übersichtlicher. Wie erwähnt, nur ein Ansatz, keine perfekte Lösung. Außerdem ungetestet! Viel Vergnügen :-) Frederik [Edit: Tut mir leid, da haut´s doch tatsächlich die Formatierung durcheinander :-(((][Diese Nachricht wurde von Paulchen am 09. Jul. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |