| |
| 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: Unterschiede ACAD08 und 09 bei lisp? (1956 mal gelesen)
|
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 23. Jun. 2009 10:57 <-- editieren / zitieren --> Unities abgeben:
Hallo, vielleicht hat ja einer einen Tipp für mich, ich habe mir ein Lisp-Programm geschrieben, welches angewählte Objekte einer Zeichnung auf den Nullpunkt verschiebt und bei Bedarf dreht, verschiedene Elemente zufügt, und das alles dann als *.DXF 2000 abspeichert für die Weiterverarbeitung in der CNC-Software. Dann werden die Objekte mit zusätzlichen Informationen wieder an den Ursprungsort in der Zeichnung geschoben bzw. gedreht. Klappt unter ACAD2008 auf super. Aber es läuft nicht unter ACAD09, die Objekte werden nicht mehr an den Ursprungort zurück geschoben. Ich habe die LISP auf die Move-Befehle reduziert. (nur hin und her schieben). Wieso geht es nur in 08 und nicht auch in 09? (defun c:test (/ pa aws) ;DXF export rechts gedreht (setq pa (getpoint "Nullpunkt antippen:\n") aws (ssget) ) (Command "_.move" aws "" pa "0,0") (command "_.move" aws "" "0,0" pa) (princ) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
autocart Mitglied Technischer Redakteur
Beiträge: 698 Registriert: 08.09.2003
|
erstellt am: 23. Jun. 2009 11:05 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
|
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 23. Jun. 2009 11:41 <-- editieren / zitieren --> Unities abgeben:
Hallo Stephan Es kommmt keine Fehlermeldung, sondern es hört mit der Zeile auf: Befehl: _.move Objekte wählen: 1 gefunden Objekte wählen: Basispunkt oder [Verschiebung] <Verschiebung>: 0,0 Zweiten Punkt angeben oder <ersten Punkt der Verschiebung verwenden>: Was auch komisch ist, ich hatte gerade ACAd09 aus, und dann hat es wieder funktioniert, ist mir schon mal aufgefallen, aber zu 95% funktioniert es nicht. Ich hatte das auch schon mal bei einem Kollegen mit ACAD08, dem habe ich dann mein Profil überspielt dann war der Fehler weg. Aber ich kann ja schlecht ein ACAD08 Profil in ACADß09 laden. Gruß Woppi 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: 23. Jun. 2009 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
|
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 23. Jun. 2009 13:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Jörn, danke, das ist eine gute Idee!! Habe aber das Problem das ich nicht weiß, was ich bei ACAD09 anders machen muss, damit es funktioniert. Wenn das klar ist, würde ich die Abfrage einbauen, dann können alle Verdionen weiterhin ja die gleichne Lisp-dateien benutztn. Gruß woppi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
autocart Mitglied Technischer Redakteur
Beiträge: 698 Registriert: 08.09.2003
|
erstellt am: 23. Jun. 2009 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
Anscheinend liegt es an der Übergabe des letzten Punktes. Vor kurzem las ich irgentwo, dass die dynamische Punkteingabe über Lisp bei einem User dadurch verzerrt wurde, dass der Ofang eingeschaltet war. Ist der bei dir komplett ausgeschaltet? Wenn nicht, schalt mal alle Ofänge aus, bevor du das Lisp startest. ------------------ Gruß, Stephan www.stbartl.at "Every thing should be made as simple as possible but not simpler." - Albert Einstein Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 23. Jun. 2009 16:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Stephan, ich glaube das ist der richtige Ansatz, habe mal ein paar Tests gemacht. Das würde auch erklären warum mehrer meiner kleinen LISP-Helferlein betroffen sind, und sich da sehr unterschiedlich verhalten. Hast Du, oder jemand anderes denn einen Tipp für mich wie ich den Ofang über Lisp an und ausschalten kann? Habe in der Word-Datei AcadLisp 14 nichts gefunden. Wollte aber gleich noch im Forum suchen. Damit bei ausgeschaltetem Ofang der richtige Endpunkt genommen wird benutze ich jetzt diese Zeile: (setq pa (osnap (cadr (grread (car (entsel "Bitte Nullpunkt anwählen: ")))) "_end")) Ist doch OK? oder? Die Zeile habe ich so ähnlich hier in Forum gefunden (von Jürgen Scheeren) (damit keiner denkt ich schmücke mich mit fremden Federn!! Gruß woppi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thors-hammer Mitglied technischer Angestellter
Beiträge: 19 Registriert: 25.10.2006 AutoCAD 2012, Windows 7 (64bit)
|
erstellt am: 23. Jun. 2009 16:40 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
hallo woppi, ich verwende in meinen programmen immer folgende zeilen: ;am Anfang des Programms (setq aosmode (getvar "OSMODE")) ;alter OFANG (setvar "OSMODE" 0) ;setzt OFANG auf keinen (MACHWAS) ;am Ende des Programms (setvar "OSMODE" aosmode) ;setzt auf alten OFANG dann gibt es bei mir keine probleme mit den command's. lg Manuel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 23. Jun. 2009 17:01 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Jun. 2009 17:21 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
Zitat: Original erstellt von thors-hammer: hallo woppi, ich verwende in meinen programmen immer folgende zeilen: ;am Anfang des Programms (setq aosmode (getvar "OSMODE")) ;alter OFANG (setvar "OSMODE" 0) ;setzt OFANG auf keinen (MACHWAS) ;am Ende des Programms (setvar "OSMODE" aosmode) ;setzt auf alten OFANG dann gibt es bei mir keine probleme mit den command's.lg Manuel
es sei denn , ein command verlang nach Usereingabe , der User bricht ab : dann wird OSMODE nicht zurückgesetzt und das Fluchen beim Weiterarbeiten ist vorprogrammiert... d.h. eine sehr rudimentäre Lösung, die Leider auch manchmal von Autodesk selbst eingesetzt wird .... Tipp ....: die Commands mit vl-catch-apply kapseln oder eine Error-Routine zuweisen ... ------------------ - 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 |
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 23. Jun. 2009 17:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Manuel, ist ein sehr vernünftiger Einwand, aber Dein Vorschlag: Tipp ....: die Commands mit vl-catch-apply kapseln oder eine Error-Routine zuweisen ...
übersteigt glaube ich meine Lisp-Fähigkeiten! Werde ich Wahrscheinlich noch mal überdenken, wenn mir wegen eines Abbruchs das einstellen des OFang auf die Nerven geht! Gruß Woppi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Jun. 2009 17:43 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
|
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 23. Jun. 2009 18:00 <-- editieren / zitieren --> Unities abgeben:
...OSNAPCOORD hilft glaube ich nicht weiter, da ich keine Eingaben über die die Tastatur mache. Das erstaunliche ist, das der Ofang wieder der alte ist auch wenn ich das Lisp-Programm abbreche!? Habe mir schon eine "mini Lisp" geschrieben die den Ofang auf 47 setzt (meine Grundeinstellung) aber noch nicht benötigt. Woppi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 23. Jun. 2009 21:16 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
Osnapcoord=1 IST PFLICHT (wenn dich die Hilfe nicht weiterbringt dann lese mal ein paar Beiträge mit osnapcoord im "Forum Rund um AutoCAD" dann verstehst du evtl. worum es dabei geht ! (absolute Sauerei das "1" nicht Voreinstellung ist von Adesk her) Und zu "Osmode" --> du brichst nicht ab, sonst wäre Osmode auch auf 0, Abbruch bedeutet das dein Programm nicht ordetnlich beendet wird, also mittendrin ein Fehler auftritt und man ihn sogar über die ESC-Taste herbeiführt. Habe ich recht ? ------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 24. Jun. 2009 08:13 <-- editieren / zitieren --> Unities abgeben:
Habe im Forum ein bisschen nachgelesen über Osnapcoord, bei mir steht als Standard Osnapcoord auf 2, das ist doch auch OK?! Werde das mit der Genauigkeit aber noch mal prüfen, die Steuerdatei der CNC in der die Daten weiterverarbeitet werden arbeitet auf die 6 Stelle hinter dem Komma genau. Was den Programmabbruch und Osmode=0 angeht, hattest Du recht. Ich hatte bei den ersten Tests mein Programm zu früh abgebrochen, deswegen war Osmode immer noch = 47. Woppi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |