| |
| 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: Kreis am Ende einer Linie erstellen (552 mal gelesen)
|
Bassi Mitglied
Beiträge: 36 Registriert: 23.08.2005 CPU: AMD Athlon 1 GHz RAM: 1024 GB HD: 160 GB BS: Win XP pro - SP2 CAD-Software: Rhinoceros, AutoCAD 2000 LT mit Extender
|
erstellt am: 27. Aug. 2005 19:46 <-- editieren / zitieren --> Unities abgeben:
Hallo, vorweg ich habe null Ahnung von Lisp. Ich möchte am Ende einer Linie einen Kreis erstellen lassen und am besten, noch mit vorlaufender Nummmer im Kreis. Ich habe zwar schon ein Tool dafür, aber leider werden dort keine Kreise erstellt. Kann mir dabei jemand helfen ? Grüße Sebastian
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: 27. Aug. 2005 22:15 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
|
Bassi Mitglied
Beiträge: 36 Registriert: 23.08.2005 CPU: AMD Athlon 1 GHz RAM: 1024 GB HD: 160 GB BS: Win XP pro - SP2 CAD-Software: Rhinoceros, AutoCAD 2000 LT mit Extender
|
erstellt am: 28. Aug. 2005 11:31 <-- editieren / zitieren --> Unities abgeben:
Hallo, hier ist der Code: ;;; Funktion: Bezugslinien mit Positionsnummern schreiben (defun C:POS_NUM (/ NUM P1 P2 DXX DX DYY DY) (defun NEUERR (MSG) (R_VAR) (princ MSG) (princ)) (setq ALTERR *ERROR* *ERROR* NEUERR C_E (getvar "CMDECHO") ; ECHO C_L (getvar "CLAYER") ; LAYER P_M (getvar "PDMODE") ; Punktmuster P_S (getvar "PDSIZE") ; Punktgroesse ) (setvar "CMDECHO" 0) (setvar "ATTDIA" 0) (if (not (tblsearch "LAYER" "2")) (command "LAYER" "MACH" "2" "FA" "2" "" "") ; Layer und Farbe ) (setq NUM NIL) (defun R_VAR () (setq *ERROR* ALTERR) (setvar "PDMODE" P_M) (setvar "PDSIZE" P_S) (command "LAYER" "SE" C_L "" "REGEN") (setvar "CMDECHO" C_E) (setq NUM NIL) ) ;;------------------------------------- (setq NUM 1 WEITER t ) (while WEITER (prompt "\n. \n. \n") (princ "\n \nBauteilnummer oder 0 für Ende 0/<") ; anzeigen (princ NUM) ; Vorgabenummer (setq TEMP (getint ">: ")) ; abfragen (if (= TEMP 0) (setq WEITER NIL) (progn (if TEMP (setq NUM TEMP) ) ; wenn nicht return (setq P1 (getpoint "\n. \n. \nReturn für Exit/Startpunkt der Linie anklicken: " ) ) (if P1 (progn (initget 1) (setq P2 (getpoint "\n. \n. \nEndpunkt der Linie anklicken: ")) (initget "J N") (setq PU (getkword "\n: \n. \n. \nPunkt am Anfang der Linie setzen? N/<J>: " ) ) (if (not (= PU "N")) ;; Layer, Punktsymbol und -Durchmesser setzen (command "LAYER" "SE" "0" "" "PDMODE" "33" "PDSIZE" "0.4" ".PUNKT" P1) ) (command "LAYER" "SE" "2" "" "_LINE" P1 P2 "") ) ;_ end progn (progn (setq WEITER NIL P2 NIL ) ) ) ;_ end if p1 (if P2 (progn (setq DXX (- (car P2) (car P1)) DX (- (car P1) (car P2)) DYY (- (cadr P2) (cadr P1)) DY (- (cadr P1) (cadr P2)) ) (if (and (> DYY DXX) (> DXX DY) (> DYY DX)) ; Linie von oben (setq P (list (car P2) (+ (cadr P2) 4))) ) (if (and (> DY DYY) (> DY DX)) ; ... unten (setq P (list (car P2) (- (cadr P2) 9))) ) (if (and (> DXX DX) (> DXX DYY) (> DYY DX)) ; ... links (setq P (list (+ (car P2) 6) (- (cadr P2) 2))) ) (if (and (> DX DYY) (> DX DY) (or (> DYY DY) (> DY DYY))) ; rechts (setq P (list (- (car P2) 6) (- (cadr P2) 2))) ) (command "LAYER" "SE" "0" "" "TEXT" P "5" "0" (itoa NUM)) ) ;_end progn ) ;_end if (setq NUM (1+ NUM)) ) ) ) ;_ end while weiter (R_VAR) (princ) ) ; end defun c:... (princ) Grüße Sebastian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bassi Mitglied
Beiträge: 36 Registriert: 23.08.2005 CPU: AMD Athlon 1 GHz RAM: 1024 GB HD: 160 GB BS: Win XP pro - SP2 CAD-Software: Rhinoceros, AutoCAD 2000 LT mit Extender
|
erstellt am: 29. Aug. 2005 08:46 <-- editieren / zitieren --> Unities abgeben:
Hallo, habe mal damit beschäftigt, aber blicke nicht so ganz durch. Ich wollte an dem "Mittel"-Punkt wo der Text eingefügt wird ein Kreis mit dem Durchmesser 18 eingefügt wird und die Linie auf den Kreis gestutzt. Desweiteren wo ich garnicht durchsteige ist, wie ich das Ganze auf den aktuellen Layer einfüge und nicht auf diesen der erstellt wird. Grüße Sebastian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 29. Aug. 2005 09:48 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
|
Bassi Mitglied
Beiträge: 36 Registriert: 23.08.2005 CPU: AMD Athlon 1 GHz RAM: 1024 GB HD: 160 GB BS: Win XP pro - SP2 CAD-Software: Rhinoceros, AutoCAD 2000 LT mit Extender
|
erstellt am: 29. Aug. 2005 10:41 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 29. Aug. 2005 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
|
Bassi Mitglied
Beiträge: 36 Registriert: 23.08.2005 CPU: AMD Athlon 1 GHz RAM: 1024 GB HD: 160 GB BS: Win XP pro - SP2 CAD-Software: Rhinoceros, AutoCAD 2000 LT mit Extender
|
erstellt am: 29. Aug. 2005 11:40 <-- editieren / zitieren --> Unities abgeben:
Hallo CADmium, vielen Dank. Klappt super. Ich habe leider nichts zum aktuellen Layer gefunden. Auch nicht mit dem Stutzen der Linie auf den Kreis. Ist bestimmt nicht schwer bloß ist der Code für mich nicht ganz verständlich. Ich habe einwenig Erfahrung auf VBA, html & RhinoScript und auch diese hält sich in Grenzen. Grüße Sebastian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |