|
Lisp : Lisp und dynamische Blöcke
Dirk.B am 23.02.2013 um 14:07 Uhr (0)
Hallo Udo!Hallo Forum!Ok, dass mit der Änderung der Sichtbarkeit1 funktioniert.Aber leider nur die.Die anderen Prameter ändern sich nicht.Wie z.B. Winkel2 oder Länge Ø3.Was muß ich da machen?Kann man immer nur 1 Wert ändern?Ich möchte folgendes ereichen.- Block einfügen- Letztes Objekt erkennen - Sichtbarkeit1 von "Ø3mm sichtbar" auf "Ø4mm verdeckt" ändern- Länge Ø4 auf 45 ändern- Winkel2 auf 90° ändernCode:(command "-einfüge" "N:/Konstruktion/AutoCAD/Block_Konstruktion/Verbinder/Spax-Schraube.dwg" P20 "" ...
|
In das Form Lisp wechseln |
|
Lisp : Lisp und dynamische Blöcke
CAD-Huebner am 24.02.2013 um 09:34 Uhr (0)
Zitat:Original erstellt von Dirk.B:Code:...(setProperty (vlax-ename-vla-object DBobj) "Sichtbarkeit" "Ø4mm verdeckt")(setProperty (vlax-ename-vla-object DBobj) "Länge Ø4" 45)(setProperty (vlax-ename-vla-object DBobj) "Winkel2" 90Das funktioniert aber leider nicht Könnte mir da noch mal jemand bei helfen. Danke.- Der Sichtbarkeitsparameter muss richtig geschrieben werden (am Ende fehlt bei dir eine 1)- Reelle Werte drürfen nicht als Integer übergeben werden, also 45.0 statt 45- Winkel müssen ungeachtet de ...
|
In das Form Lisp wechseln |
|
Lisp : Lisp und dynamische Blöcke
Dirk.B am 24.02.2013 um 15:45 Uhr (0)
Hallo Udo!Vielen Dank.Dann müßte es doch eigentlich so funktionieren:Code:(defun C:Db01()(defun setProperty (vlaDynBlock sPropertyName rValue / vlaProperty) (foreach vlaProperty (vlax-safearray-list (vlax-variant-value (vla-GetDynamicBlockProperties vlaDynBlock))) (if (= (vla-get-PropertyName vlaProperty) sPropertyName) (vla-put-value vlaProperty (vlax-make-variant rValue)) ); end if ); end foreach); end defun (command "_Insert" "N:/Konstruktion/AutoCAD/Block_Konstruktion/Verbinder/Spax-Schraube.dwg" ( ...
|
In das Form Lisp wechseln |
|
Lisp : Lisp und dynamische Blöcke
CAD-Huebner am 24.02.2013 um 16:31 Uhr (0)
es fehlt das Laden der "Visual LISP Extensions" mit(vl-load-com)welches man im Programmcode oder aber auch gern am Anfang der Lisp Datei einfügen sollte.Manuelles Laden auf der AutoCAD Befehlszeile reicht auch schon.Damit werden die vlax-Funktionen erst verfügbar.------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de[Diese Nachricht wurde von CAD-Huebner am 24. Feb. 2013 editiert.]
|
In das Form Lisp wechseln |
|
Lisp : Lisp und dynamische Blöcke
Dirk.B am 25.02.2013 um 07:10 Uhr (0)
Hallo Udo!Nochmals Danke für Deine Geduld und Unterstützung.Nun funktioniert es prima.Ich wünsch Dir noch einen guten Start in die neue Woche.------------------GrußDirk
|
In das Form Lisp wechseln |
|
Lisp : In einer Batch Datei den Dateien Pfad der DXF-Datei in legen
lenge am 25.02.2013 um 22:06 Uhr (0)
Hi Leute, ich hab da ein Problem!Wie kann dem Lisp-Programm gesagt werden, das er mir den Pfad in einer .bat in " " setzt? Mfglenge
|
In das Form Lisp wechseln |
|
Lisp : vl-registry-read in Win7 - Rechteproblem?
Peter2 am 27.02.2013 um 07:19 Uhr (0)
Zitat:Original erstellt von Brischke:...Ja, das liegt an den Rechten.---Danke.Gibt es auch eine Lösung seitens Lisp ohne Rechteverstellung dazu? Weil wenn nicht einmal mehr das "read" klappt ....Peter------------------Für jedes Problem gibt es eine einfache Lösung.Die ist aber meistens falsch. ;-)
|
In das Form Lisp wechseln |
|
Lisp : Trim Schraffur
jupa am 26.02.2013 um 14:00 Uhr (0)
Zitat:Original erstellt von cadplayer:Was ist denn mit "Schraffur- und Stutzenbefehl" gemeint ? Gibts noch was anderes als trimmen ?Das war ein Mißverständnis. In Deinem ersten Posting hatte ich was von "trim command" gelesen und fälschlicherweise hineininterpretiert, daß Du das was in LISP versuchst.Zitat:Original erstellt von cadplayer:Dennoch die Frage, es kommt vor, dass sich Schraffuren nicht trimmen lassen (von mir aus unerklärlichen Gründen), kann man solche Ausläufer vermeiden ?Kann man sicherlich ...
|
In das Form Lisp wechseln |
|
Lisp : In einer Batch Datei den Dateien Pfad der DXF-Datei in legen
spider_dd am 26.02.2013 um 15:08 Uhr (0)
Hallo lenge,Deinen letzten Satz verstehe ich irgendwie nicht. Mit Deinen angegebenen Lisp-Zeilen erhalte ich eine Start.bat Datei mit dem Inhalt:c:Planit....extern.exe mein_aktueller_zeichnungspfaduebergabe.batDas erscheint mir auch irgendwie logisch, im Zeichnungspfad wird nun eine Datei uebergabe.bat erwartet, die beim Aufruf von Start.bat ausgeführt wird.Was ist nun nicht so, wie Du es erwartest / wünschst?GrußThomas
|
In das Form Lisp wechseln |
|
Lisp : In einer Batch Datei den Dateien Pfad der DXF-Datei in legen
lenge am 26.02.2013 um 18:14 Uhr (0)
Hi spider_ddich bin zur Zeit am schreiben von einer DXF-Schnittstelle, bei dieser ich eine Routine einbringen möchte die mir ermöglicht die erstellte DXF-Datei, in AlphaCam automatisch einzulesen und so ein CNC-Programm auf einer ganz schnellen und einfacheren Art zu schreiben.die Start.bat sollte so aus sehen:Beispiel:C:PlanitLICOMDIRVBMacrosStartUpPythaAnbindungPYTHAacamextern.exe "C:UsersDanielDesktopNeuer Ordneruebergabe.bat"Das was jetzt in " " ist (wird oder ich bekomms nicht hin) wird in AutoCad L ...
|
In das Form Lisp wechseln |
|
Lisp : Handling mit Dateibefehlen
jörg.jwd am 27.02.2013 um 13:05 Uhr (0)
Hallo zusammen,da ich schon lange nichts mehr mit Lisp zu tun hatte liegt der Fehler wahrscheinlich bei mir. Wenn ich versuche aus meinem Lisp heraus eine DXF zu öffnen (command "_open" c:........xxx.dxf) weigert sich die Kiste das zu tun und bringt mir einen Fehler unbekannter Befehl .dxf. Mach ich das Ganze mit dxfin öffnet er nicht die DXF sondern lädt diese in die aktuelle Zeichnung dazu (aus AutoCAD direkt aufgerufen öffnet er). Und das Beste zum Schluß: (Command "_new") ergibt einen unbekannten Befeh ...
|
In das Form Lisp wechseln |
|
Lisp : Handling mit Dateibefehlen
CADchup am 28.02.2013 um 08:53 Uhr (0)
Hi,versuchs mal mit dem Autodesk-Tool ScriptPro, das ist genau dafür gemacht:Dateien auswählen, Skript auswählen, Go.ScriptPro öffnet automatisch jede DWG/DXF, startet das Skript und schließt die Zeichnung wieder.Das Skript kann entweder die üblichen Befehle und/oder Lisp-Code enthalten oder nix weiter als die Load- und Start-Anweisungen für ein Lisp-Funktionen.GrußCADchup------------------CADmaro.de
|
In das Form Lisp wechseln |
|
Lisp : LayerFarbe eines Layers in mehreren Files ändern
cadplayer am 05.03.2013 um 12:18 Uhr (0)
Danke für den Hinweis, probier ich aus...Nochmal nachgehakt an der Stelle, wenn ich eine Liste von Layern zum beispiel frieren will. Ich finde es ziehmlich umständlich, das nach der Form zu tunCode:-layerf"Layer1"f"Layer2"f"Layer3"QSAVEKann ich das nicht mit einer Liste ("layer1" "layer2" "layer3" ...) tun, die dann nacheinander die Layer friert.Vermutlich muss ich dazu eine Lisp funktion schreiben oder geht es auch ohne ?[Diese Nachricht wurde von cadplayer am 05. Mrz. 2013 editiert.]
|
In das Form Lisp wechseln |