| |
| 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: Einfüge Punkt wählen (1462 mal gelesen)
|
Dolcetto Mitglied Konstrukteur / Softwareentwickler
Beiträge: 66 Registriert: 04.05.2004
|
erstellt am: 12. Jul. 2005 08:18 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, Ich habe mal wieder eine Frage. Als erstes mal hier meine Lisp: (setq D (getdist "Aussendurchmesser eingeben:")) (setq s (getdist "Wanddicke eingeben:")) (setq rd (- (/ D 2) s)) (setq L (getdist "Länge eingeben:" )) (setq linie0 (list (cons 0 "line") (cons 8 "AM_0") (List 10 0 (- 0 (/ D 2)) 0) (List 11 L (- 0 (/ D 2)) 0))) (setq linie1 (list (cons 0 "line") (cons 8 "AM_0") (List 10 0 (/ D 2) 0) (List 11 L (/ D 2) 0))) (setq linie2 (list (cons 0 "line") (cons 8 "AM_3") (List 10 0 (- 0 rd) 0) (List 11 L (- 0 rd) 0))) (setq linie3 (list (cons 0 "line") (cons 8 "AM_3") (List 10 0 rd 0) (List 11 L rd 0))) (setq linie4 (list (cons 0 "line") (cons 8 "AM_0") (List 10 0 (- 0 (/ D 2)) 0) (List 11 0 (/ D 2) 0))) (setq linie5 (list (cons 0 "line") (cons 8 "AM_0") (List 10 L (- 0 (/ D 2)) 0) (List 11 L (/ D 2) 0))) (setq Mlinie0 (list (cons 0 "line") (cons 8 "AM_7") (List 10 (- 0 5) 0 0) (List 11 (+ L 5) 0 0))) (entmake linie0) (entmake linie1) (entmake linie2) (entmake linie3) (entmake linie4) (entmake linie5) (entmake Mlinie0) (setq G (/ (* (- (/ (* (expt D 2) pi) 4) (/ (* (expt (- D s s) 2) pi) 4)) L 7.8) 1000000)) Wie ihr seht, gehe ich hier immer von den Koorinaten 0,0,0 aus! wie kann ich aber machen, das ich die masse eingebe und erst im nachhinein den Einfügepunkt wähle??? Würde mich über eine einfache erklärung freuen, da ich mehrere Lisp habe di sich auf den 0-Punkt beziehen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 12. Jul. 2005 09:29 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
Hallo, ich würde folgendes machen: alle erzeugten Elemente in einen Auswahlsatz speichern, und dann zum Schluß gemeinsam schieben: z.B. (entmake linie0) (if AWS (ssadd (entlast) AWS) (setq AWS (ssadd(entlast)))) (entmake linie1) (if AWS (ssadd (entlast) AWS) (setq AWS (ssadd(entlast)))) (entmake linie2) (if AWS (ssadd (entlast) AWS) (setq AWS (ssadd(entlast)))) (entmake linie3) (if AWS (ssadd (entlast) AWS) (setq AWS (ssadd(entlast)))) (entmake linie4) (if AWS (ssadd (entlast) AWS) (setq AWS (ssadd(entlast)))) (entmake linie5) (if AWS (ssadd (entlast) AWS) (setq AWS (ssadd(entlast)))) (entmake Mlinie0) (if AWS (ssadd (entlast) AWS) (setq AWS (ssadd(entlast)))) (setq punkt(getpoint "\nBitte Einfügepunkt angeben:")) (if punkt (command "_.move" AWS "" "0,0" punkt "")) ------------------ viele Grüße Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dolcetto Mitglied Konstrukteur / Softwareentwickler
Beiträge: 66 Registriert: 04.05.2004
|
erstellt am: 12. Jul. 2005 09:35 <-- editieren / zitieren --> Unities abgeben:
Kannst du mir noch erklären was diese zeile genau macht? if AWS (ssadd (entlast) AWS) (setq AWS (ssadd(entlast)))) Du Speicherst alles in die Variable AWS, und diese verschiebst du dann, richtig? Was genau Speicherst du? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 12. Jul. 2005 09:45 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
Hallo Dolcetto, diese Zeile macht folgendes: (if AWS =>wenn der Variablen AWS bereits ein Wert (Auswahlsatz) zugeordet ist (ssadd (entlast) AWS) => dann wird diesem Auswahlsatz das zuletzt erstellte Element (entlast) zugefügt und der Variablen AWS zugeordnet (setq AWS (ssadd(entlast)))) =>wenn der Variablen AWS noch kein Wert zugeordnet ist, dann wird mit dem zuletzt erzeugten Element (entlast) ein neuer Auswahlsatz erzeugt und der Variablen AWS zugeordnet. Wichtig ist, das die Variable als lokal definiert wird, oder Du weist ihr den zu Beginn der Routine den Wert nil zu. ------------------ viele Grüße Jörn [Diese Nachricht wurde von joern bosse am 12. Jul. 2005 editiert.] [Diese Nachricht wurde von joern bosse am 12. Jul. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dolcetto Mitglied Konstrukteur / Softwareentwickler
Beiträge: 66 Registriert: 04.05.2004
|
erstellt am: 12. Jul. 2005 10:46 <-- editieren / zitieren --> Unities abgeben:
habe mir gerade überlegt, geht das nicht auch irgendwie so??? (setq AWS (list (entmake linie0) (entmake linie1) (entmake linie2) (entmake linie3) (entmake linie4) (entmake linie5) (entmake Mlinie0))) (setq punkt(getpoint "\nBitte Einfügepunkt angeben:")) (command "_.move" AWS "" "0,0" punkt "") oder warum geht das nicht? ist irgend etwas falsch? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 12. Jul. 2005 11:03 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
Hallo Dolcetto, nein, das geht nicht. Die entmake Funktionen geben Dir nur die Elementlisten wieder, und diese beinhalten ja nur die Eigenschaften der Objkte, sind aber nicht die Objekte selbst. ------------------ viele Grüße Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 12. Jul. 2005 11:23 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
mal ein bsp mit grread (defun c:AM-FADENKREUZ ( / L D P1 P2 PKT LINE0) (setq D (getdist "Aussendurchmesser eingeben:")) (setq L (getdist "Länge eingeben:" )) (setq P1 (list 0 (- 0 (/ D 2.0)) 0)) (setq P2 (list L (- 0 (/ D 2.0)) 0)) (while (= 5 (car (setq PKT (grread 't 5 0)))) (if LINE0 (entdel LINE0)) (entmake(list (cons 0 "line") (cons 8 "AM_0") (cons 10 (mapcar '+ P1 (cadr PKT))) (cons 11 (mapcar '+ P2 (cadr PKT))) ) ) (setq LINE0(entlast)) ) ) anstelle des entmake reicht bei umrissen auch grdraw... ------------------ - 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 |
Dolcetto Mitglied Konstrukteur / Softwareentwickler
Beiträge: 66 Registriert: 04.05.2004
|
erstellt am: 12. Jul. 2005 11:32 <-- editieren / zitieren --> Unities abgeben:
Also diesen Teil verstehe ich noch Ziemlich gut: (defun c:AM-FADENKREUZ ( / L D P1 P2 PKT LINE0) (setq D (getdist "Aussendurchmesser eingeben:")) (setq L (getdist "Länge eingeben:" )) (setq P1 (list 0 (- 0 (/ D 2.0)) 0)) (setq P2 (list L (- 0 (/ D 2.0)) 0)) Allerdings hier musst du mich schon aufklären, da verstehe ich garnix: (while (= 5 (car (setq PKT (grread 't 5 0)))) (if LINE0 (entdel LINE0)) (entmake(list (cons 0 "line") (cons 8 "AM_0") (cons 10 (mapcar '+ P1 (cadr PKT))) (cons 11 (mapcar '+ P2 (cadr PKT))) ) ) (setq LINE0(entlast)) ) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 12. Jul. 2005 11:54 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
Zitat: Original erstellt von Dolcetto:
Allerdings hier musst du mich schon aufklären, da verstehe ich garnix:
muß ich nicht! ..es gibt unter F1 ne Hilfe, entsprechende Literatur und auf Mapcars seiten ein schönes Tutorial.. ------------------ - 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 |
Dolcetto Mitglied Konstrukteur / Softwareentwickler
Beiträge: 66 Registriert: 04.05.2004
|
erstellt am: 12. Jul. 2005 11:59 <-- editieren / zitieren --> Unities abgeben:
Kenne ich alles, davon habe ich auch bis jetzt das was ich kann! :-) Allerdings Lerne ich am effektivsten wenn ich es an praxis beispiele gleich probieren kann. Einfach nur literatur, ohne eine idee für was ich es verwenden kann ist ziemlich mühsam! Naja ich kämpfe mich mal durch! THX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |