| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Kreiskoordinaten Variable benutzen??? (1362 mal gelesen)
|
Dolcetto Mitglied Konstrukteur / Softwareentwickler
Beiträge: 66 Registriert: 04.05.2004
|
erstellt am: 18. Okt. 2004 11:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, Ich habe gerade mit Autolisp begonnen und habe mein erstes problem das ich nicht verstehe. Ich will ein Rohrbild programmieren. Die abstände der Rohr ergeben sich durch eine Teilung und der 60° Anordnung. Wie kann ich anstatt den befehl "Getpoint" direkt von der Variable die Teilung einfügen? Beispiel anhand der beigefügen Datei. Also Kreis 2 muss ich die anfangs Koordinaten eingeben da diese Varieren können. Kreis 3 ist auf gleicher Y-Ebene und bei X-Ebene der Abstand der Teilung. Der Kreis4 liegt bei halber abstand der Teilung bei x-Ebene und bei 60° vom ersten Rohr! 3Rohre die ein 60° Dreieck bilden schlussendlich. Also wie kann ich die Variable der Teilung in die Koordinaten der Kriese einfügen? geht das überhaupt? Danke für eure Antworten!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 18. Okt. 2004 12:02 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
|
Dolcetto Mitglied Konstrukteur / Softwareentwickler
Beiträge: 66 Registriert: 04.05.2004
|
erstellt am: 18. Okt. 2004 12:16 <-- editieren / zitieren --> Unities abgeben:
|
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 18. Okt. 2004 12:29 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
|
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 18. Okt. 2004 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
|
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 18. Okt. 2004 13:50 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
Versuch's mal hiermit: Code:
(defun c:rv( / r1 r2 tg p pi/3 _rb _dr) (defun _rb(r1 r2 tg p / loop drawn cen i _draw) (defun _draw( / ) (if(<=(distance p cen)(- r1 r2)) (progn (command "_circle" cen r2) (setq drawn(1+ drawn)) ) ) ) (setq drawn 1) (setq cen p) (_draw) (setq loop 1) (while(not(zerop drawn)) (setq drawn 0) (setq i 0) (repeat 6 (setq cen(polar p(* i pi/3)(* loop tg))) (repeat loop (setq cen(polar cen(*(+ i 2)pi/3)tg)) (_draw) ) (setq i(1+ i)) ) (setq loop(1+ loop)) ) ) (setq pi/3(/ pi 3.0)) (setq r1(getreal"\nGrenzradius eingeben: ")) (setq r2(getreal"\nKreisradius eingeben: ")) (setq tg(getreal"\nTeilung eingeben: ")) (setq p(getpoint"\nMittelpunkt der Anordnung: ")) (command"_circle"p r1) ; Nur zum Testen (_rb r1 r2 tg p) )
Warum zerschiesst die Forums-Software jetzt die Formatierung??? Gruß, Axel Strube-Zettler ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze 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: 18. Okt. 2004 13:58 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 18. Okt. 2004 14:00 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
Zitat: Original erstellt von mapcar:
Warum zerschiesst die Forums-Software jetzt die Formatierung???
Welche Formatierung .. und das die Forumssoftware militant ist .. ?! ------------------ - Thomas - "Bei 99% aller Problemen ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." [Diese Nachricht wurde von CADmium am 18. Okt. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 18. Okt. 2004 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
Hi Dolcetto, na dann bist Du aber noch sehr am Anfang der Lisp-Programmierung?? "(defun c:rv" Heißt in etwa "Define Function Command RV" Nach dem laden einer solchen Routine gibt es ein neues Autocad Kommando, welches mit der Befehlseingabe "RV" gestartet werden kann. Wenn da nur "(defun rv" gestanden hätte, könntest Du das Pgm nur mittels "(rv)" starten... Wohl nicht auffer CAT.Pro gewesen und den Ausführungen der Herren CADwiesel und Brischke gelauscht was? ------------------ Ciao, Marc 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: 18. Okt. 2004 14:11 <-- editieren / zitieren --> Unities abgeben:
|
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 18. Okt. 2004 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
|
Dolcetto Mitglied Konstrukteur / Softwareentwickler
Beiträge: 66 Registriert: 04.05.2004
|
erstellt am: 18. Okt. 2004 14:39 <-- editieren / zitieren --> Unities abgeben:
Naja eigentlich ist es genau das was ich wollte! nicht mehr und nicht weniger! Ob noch sachen hinzugefügt werden können kann ja sein aber das brauche ich momentan nicht. Es genügt schon wenn ich nicht mehr jedes rohr kopieren oder Spiegeln muss bis das ganze gefüllt ist. Und sobald ich einen ansatz von dem Code wo du geschrieben hast verstehe, können wir über systemvariablen usw. reden. Bisdahin bin ich ziemlich zufrieden mit dem was ich von dir bekommen habe! Danke noch einmal. Auch an kleinen dingen können Menschen sich Freuen!!! :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 18. Okt. 2004 15:04 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
|
Dolcetto Mitglied Konstrukteur / Softwareentwickler
Beiträge: 66 Registriert: 04.05.2004
|
erstellt am: 18. Okt. 2004 15:13 <-- editieren / zitieren --> Unities abgeben:
|
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 18. Okt. 2004 15:25 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
Zitat: Original erstellt von Dolcetto: Allerdings würde es mich trotzdem noch interessieren wie ich nund bei meinem Code anstatt Getpoint zwei variablen einsetzen kann oder geht das garnicht???
Wie meinst Du denn das?? So?
Code:
(setq pt1 (getpoint "\nGib's mir: ")) (entmake (list (cons 0 "circle") (cons 8 "AM_0") (cons 10 pt1) (cons 40 100)))
... Ach so, EIN Argument bei den get[irgendwas] Dingern ist immer der Anfragetext (s.o.) ------------------ Ciao, Marc [Diese Nachricht wurde von marc.scherer am 18. Okt. 2004 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: 18. Okt. 2004 15:44 <-- editieren / zitieren --> Unities abgeben:
Ja wenn ich nur einen Punkt habe geht das so. Aber ein Punkt sieht doch so aus: 0,0,0 z.B.! oder? ich habe jetzt das erste Rohr bei 0,0,0 Durch die Teilung (23mm) ergibt es mir die nächsten abstände für alle rohre: 2. Rohr 23,0,0 3. Rohr 11.5,20,0 . . . Das heist ich muss doch 2 variable haben x und y richtungen. Es geht ja auch so: (setq kreis3 (list (cons 0 "circle") (cons 8 "0") (cons 10 '(23 0) (cons 40 50))) (cons 10 '(23 0) dabei sind doch die koordinaten x=23 y=0??? warum kann ich nicht (setq a 23 b 0) (cons 10 (a b) einsetzen??? Er kommt dann immer bid der Meldung 23.0 keine Funktion! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 18. Okt. 2004 15:47 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
machs so ähnlich : (setq a 23 b 0) (cons 10 (list a b 0.0)) ------------------ - Thomas - "Bei 99% aller Problemen 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 |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 18. Okt. 2004 15:48 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
Hallo Dolcetto, Im Lisp sind die Listen das zentrale element. Diese sind von runden Klammern umschlossen, wobei das erste Listenargument die Funktion und die folgenden die Parameter der Funktion darstellen. Du sprichst hier grundsätzliche Fragen zur Syntax an. Wenn du also eine Liste übergeben möchtest, dann musst das dem Interpreter auch kund tun. (cons 10 (list a b)) Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 18. Okt. 2004 16:31 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
|
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 18. Okt. 2004 16:41 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 18. Okt. 2004 21:14 <-- editieren / zitieren --> Unities abgeben: Nur für Dolcetto
.. voll offtopic .. @mapcar : Tja Axel , du bist der erste, dem's auffällt, aber ich werd's für die Zukunft ändern. Danke .. aber das der Satz auch so gut auf AutoCad anwendbar ist, ist mir bisher entgangen. ------------------ - 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 |