| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Koordinatenbemassung mit Ergänzung (1013 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: 14. Nov. 2005 08:11 <-- editieren / zitieren --> Unities abgeben:
Hi, ich möchte mir gerne einen Zusatz zur Koordinatenbemassung von AutoCAD lt 2000 schreiben (ähnlich der von AutoCAD mechanical). Da ich leider ein absoluter Anfänger bin, erweist das ganze ziemlich schwierig für mich. Eine kurze Erklärung zum Bild: Wenn das Lisp gestartet wird: Frage nach dem Startpunkt und dem Abstand der Bemassung, wenn der Startpunkt die Koordinate null hat (egal ob Achse X oder Y) soll ein Kreis Ø2 in einem Abstand 1,25 vom Endpunkt der Bemassung erstellt und eine Linie aktiviert werden rechtwicklig zur Bemassung. Bei jedem Bemassungspunkt soll ein Pfeil (als Polylinie) erstellt werden, der erkennt in welche Richtung es geht, d.h. als Beispiel Y-Achse geht die Bemassung ins minus: sitzt der Polylinien-Pfeil oben zur Bemassung und zeigt nach unten. Es soetwas möglich und es ist ein sehr schwieriger Code ? Für Eure Antworten vielen Dank im voraus. Gruß Bassi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
charlieBV Ehrenmitglied V.I.P. h.c. Bauzeichnerin
Beiträge: 9319 Registriert: 28.08.2003
|
erstellt am: 14. Nov. 2005 08:14 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
Hallo Bassi, hast du nur LT oder LT mit Extender? Diese Frage mal vorab, da LT ohne Extender kein Lisp unterstützt. Nicht dass du dir Arbeit machst und dein Ergebnis nicht nutzen kannst... ------------------ Gruß Yvonne ADT-Help-Site "Die Erinnerung ist das einzige Paradies, woraus wir nicht vertrieben werden können." Jean Paul (1763-1825) 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: 14. Nov. 2005 08:33 <-- editieren / zitieren --> Unities abgeben:
|
charlieBV Ehrenmitglied V.I.P. h.c. Bauzeichnerin
Beiträge: 9319 Registriert: 28.08.2003
|
erstellt am: 14. Nov. 2005 08:35 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
Hi, dazu kann ich nix sagen, aber vielleicht solltest du zumindest den LT-Extender in deinem Profil nachtragen... das wird spätere Fragen ersparen. ------------------ Gruß Yvonne ADT-Help-Site "Die Erinnerung ist das einzige Paradies, woraus wir nicht vertrieben werden können." Jean Paul (1763-1825) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002 Autocad 2021/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 32 GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2021
|
erstellt am: 14. Nov. 2005 09:24 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
@Bassi Hallo, du musdt geduld haben. habe das gefunden auf Seite von LT-Extender FAS/VLX - Programme von VisualLISP können momentan nicht verwendet werden (daran wird aber gearbeitet !) ------------------ Heinz 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: 14. Nov. 2005 09:40 <-- editieren / zitieren --> Unities abgeben:
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 14. Nov. 2005 09:55 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
hi bassi! folgende funktionen aus lisp dürften für dein programm reichen: getpoint getreal angle polar command mit den acad-funktionen insert,line und text. einfach mal die hilfe dazu lesen. ciao georg 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: 14. Nov. 2005 12:51 <-- editieren / zitieren --> Unities abgeben:
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 14. Nov. 2005 13:37 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 14. Nov. 2005 14:34 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
kleine einstiegshilfe (defun c b ( / np rp riwi-ml riwi ) (COMMAND "_ucs" "w") (SETVAR "AUNITS" 2) (SETVAR "DIMZIN" 0) (SETQ np (GETPOINT "\nNullpunkt der Messungslinie")) (SETQ rp (GETPOINT "\npositive Richtung der Messungslinie")) (SETQ riwi-ml (ANGLE np rp)) (WHILE (SETQ rp (GETPOINT "\nPunkt auf Messungslinie")) (SETQ riwi (ANGLE np rp)) (IF (EQUAL riwi-ml riwi 0.00001) (PROGN (COMMAND "text" "s" "standard" "p" "ur" rp 1.8 (- (/ (* riwi-ml 400.0) (* 2.0 pi)) 100.0) (RTOS (DISTANCE np rp) 2 2)) ; hier kannst du noch die Pfeile als BLock einfügen (COMMAND "_insert" .....) ) (PROGN (COMMAND "text" "s" "standard" "p" "ur" rp 1.8 (- (/ (* riwi-ml 400.0) (* 2.0 pi)) 100.0) (RTOS (* (DISTANCE np rp) -1) 2 2)) ; hier kannst du noch die Pfeile als BLock einfügen (COMMAND "_insert" .....) ) ) ) ) ciao georg [Diese Nachricht wurde von gmk am 14. Nov. 2005 editiert.] [Diese Nachricht wurde von gmk am 15. Nov. 2005 editiert.] 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: 14. Nov. 2005 14:55 <-- editieren / zitieren --> Unities abgeben:
Hi gmk, vielen Dank. Ich werde es mal aufdrösseln, weil beim laden der Extender den Fehler: ; Fehler: Falsch formatierte Liste in Eingabe bringt. ABer ich bin sehr froh das ich etwas habe, denn meins klappt schon in den ersten Schritten vorne und hinten nicht. Vielen Dank nochmals. Gruß Bassi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 15. Nov. 2005 08:30 <-- 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: 15. Nov. 2005 12:11 <-- editieren / zitieren --> Unities abgeben:
Hallo georg, vielen Dank für dein Lisp funktioniert jetzt, nur - nicht das du jetzt denkst ich möchte meckern, aber ich habe mich falsch ausgedrückt. Sorry !!! Das Vorzeichen ist nicht so wichtig. Wichtig wäre wenn die Koordinatenbemassung aufgerufen wird und der Abstand festgelegt und wenn Koordinate 0, das an dieser Stelle ein Kreis erstellt wird. Danach geht´s über _dimcontiune weiter und es wird an jedem Maßpunkt ein Pfeil erstellt (nicht als Block) - ausgehend von Koordinate 0: wenn links von 0 (X-Achse), dann Pfeil rechts und zeigt nach links; wenn rechts von 0 (X-Achse), dann Pfeil links und zeigt nach rechts; und das gleich nach oben und unten (Y-Achse). Wichtig wäre noch das Kreis und Pfeile 1,25 vom Endpunkt der Masslinie erstellt werden. Die Linie würde ich mir dan selbst von den 2 entferntesten Massen ziehen. Ich möchte mich nochmals bei dir entschuldigen, daß du dir deswegen die Arbeit gemacht hast. Gruß Bassi [Diese Nachricht wurde von Bassi am 15. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 15. Nov. 2005 13:00 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
Zitat: Original erstellt von Bassi: Hallo georg, Danach geht´s über _dimcontiune weiter und es wird an jedem Maßpunkt ein Pfeil erstellt (nicht als Block) - ausgehend von Koordinate 0:
ehrlich gesagt blick ich jetzt nicht mehr so ganz durch was du möchtest. wenn es dir darum geht eine echte bemassung zu erstellen solltest du dich mal mit bemassungsstilen beschäftigen. evtl. kommst du da mit den richtigen parametern schon relativ nah an deine gewünschte darstellung ran. der kringel um 0 ist dann aber bestimmt keine lisp-anwendung mehr wert :-)) ciao georg
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: 15. Nov. 2005 14:22 <-- editieren / zitieren --> Unities abgeben:
Hallo georg, ich habe ein Beispiel angehängt, wie die Bemassung im AutoCAD aussehen sollte. Ich habe mich mit den Bemassungsstilen beschäftigt, aber ACAD liefert eine solche Bemassung nicht. (Ich glaube AutoCAD mechanical erstellt eine solche Koordinaten-Bemassung, bin mir da aber nicht sicher.) Gruß Bassi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 15. Nov. 2005 16:08 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
hi bassi! guggst du in anhang (in dwg umbenennen) wegen dem bemassungsstil. bks auf basislinie (0) und los gehts. für die automatisierung in lisp braucht's dann nur noch ein paar punkte die du mit polar und angle leicht ausrechnen kannst. ciao georg 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: 15. Nov. 2005 19:59 <-- editieren / zitieren --> Unities abgeben:
|
gmk Mitglied Dipl.-Ing.(FH) Vermessung
Beiträge: 669 Registriert: 23.10.2002 Autocad 2004, WS CadCompass, Normica V2000, WinXP Prof., AMD Athlon 64 X2, 2GB, NVIDIA GeForce 7600GS, HP1055CM
|
erstellt am: 16. Nov. 2005 00:09 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
(DEFUN c b ( / np rp ) (SETVAR "AUNITS" 2) (COMMAND "bks" "o" pause) (COMMAND "_dimordinate" (SETQ np (GETPOINT "\nStartpunkt")) (GETPOINT "\nFührungspunkt")) (COMMAND "_circle" np 1.0) (WHILE (SETQ rp (GETPOINT "\nPunkt auf Messlinie")) (COMMAND "_dimcontinue" rp "" "") (IF (EQUAL (/ pi 2.0) (ANGLE np rp) 0.001) (COMMAND "_-insert" "pfeil" rp 1 1 0.0) (COMMAND "_-insert" "pfeil" rp 1 1 200.0) ) ) )
(in der datei muss ein block "pfeil" vorhanden sein) ciao georg 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: 16. Nov. 2005 07:12 <-- editieren / zitieren --> Unities abgeben:
|
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: 16. Nov. 2005 20:58 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich wollte das ganze noch einwenig verbessern und erweitern, aber irgendwie klappt das nicht. Es kommt immer wieder Syntaxfehler. (DEFUN c rdi ( / np rp fp cp DXX DX DYY DY P1 P2 P3 ) (COMMAND "bks" "o" pause) (COMMAND "_dimordinate" (SETQ np (GETPOINT "\nStartpunkt")) (setq fp (GETPOINT "\nFührungspunkt"))) (if fp (progn (setq DXX (- (car fp) (car np)) DX (- (car np) (car fp)) DYY (- (cadr fp) (cadr np)) DY (- (cadr np) (cadr fp)) ) (if (and (> DYY DXX) (> DXX DY) (> DYY DX)) ; Führung nach oben (setq cp (list (car fp) (- (cadr fp) 1.25))) (COMMAND "_circle" cp 1.00) (WHILE (SETQ rp (GETPOINT "\nFührungsposition")) (COMMAND "_dimcontinue" rp "" "") (if (< (car rp) 0) (setq P1 (list (+ (car rp) 2.5) (+ (- (car fp) 1.25) 0.6699)) P2 (list (car rp) (- (car fp) 1.25)) P3 (list (+ (car rp) 2.5) (- (- (car fp) 1.25) 0.6699)) ) (command "_pline" P1 P2 P3"") ) ) ) ; (if (and (> DY DYY) (> DY DX)) ; ... unten ; (setq cp (list (car P2) (- (cadr P2) 9))) ; (if (and (> DXX DX) (> DXX DYY) (> DYY DX)) ; ... links ; (setq cp (list (+ (car P2) 9) (- (cadr P2) 0))) ; (if (and (> DX DYY) (> DX DY) (or (> DYY DY) (> DY DYY))) ; rechts ; (setq cp (list (- (car P2) 9) (- (cadr P2) 0)))
) ;_end progn ) ) Die unteren IFs sind noch nicht fertig, denn es scheitert schon beim Laden in ACAD. In VBA (Excel) setzte ich anstatt IF-Befehle den Select Case - Befehl ein. Gibt es etwas ähnlich auch für LISP, denn "ich" vermute es liegt an der Verschachtelungstiefe !? Gruß Bassi [Diese Nachricht wurde von Bassi am 16. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 16. Nov. 2005 21:12 <-- editieren / zitieren --> Unities abgeben: Nur für Bassi
denke mal, du meinst condBeispiel (setq A 1) ... entsprechend abwandeln!!! (cond ((= A 1) ;wenn A=1 dann .. sonst näschter Test (princ "\nA=1) ) ((= A 2) (princ "\nA=2) ) ((= A 3) (princ "\nA=3) ) ('T ;_in jedem Fall was ausgeben (princ "\nA= sonstwas, aber nicht 1,2 oder 3") ) ) durchläuft die zu testenden Ausdrücke und arbeitet die Anweisungen beim ersten "True"-liefernden Ausdruck ab. Die anderen werden ignoriert. ------------------ - 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 |