|
Lisp : Änderung in Zeichnung: gelöschte Objekte
joern bosse am 15.08.2007 um 12:45 Uhr (0)
Hallo, vielleicht kann mit einer von Euch weiterhelfen.Folgende Idee: da ich in einer Zeichnung für ein Programm bei jedem Durchlauf einen bestimmten Auswahlsatz von Objekten brauche, speicher ich mir diesen Auswahlsatz als Liste ab (extern als *.lsp-Datei). Dann kann ich, wenn die Liste existiert und kein neues Element in der Zeichnung hinzugekommen ist, (Prüfung über (cdr(assoc 5(entget(entlast))))) meine Objekte direkt aus der Liste beziehen, ohne das ich wieder einen zeitaufwendigen Auswahlsatz bilden ...
|
| In das Form Lisp wechseln |
|
Lisp : Abfrage als Text in Zeichnung einfügen
joern bosse am 19.03.2010 um 07:27 Uhr (0)
Hallo Martin,ich bin zwar nicht CADmium, aber vielleicht hilft ein(vl-load-com) vorweg.------------------viele GrüßeJörnhttp://www.bosse-engineering.com
|
| In das Form Lisp wechseln |
|
Lisp : Layerliste aus gschlossener Zeichnung
joern bosse am 04.10.2007 um 11:44 Uhr (0)
Hallo Kist,in folgendem Beitrag hatte CADmium mir schon mal auf die Sprünge geholfen, ich wollte Blockdefinitionen aus einer geschlossenen DWG-Datei. http://ww3.cad.de/foren/ubb/Forum145/HTML/001447.shtml#000004 Schau Dir mal die Datei "Block-import.lsp" an, das kannst Du Dir bestimmt ein wenig abändern.------------------viele GrüßeJörn
|
| In das Form Lisp wechseln |
|
Lisp : Unterschiedliche Anzahl Objekte in der Zeichnung
joern bosse am 27.07.2012 um 09:41 Uhr (0)
Hallo Ernst,es werden dann auch die Objekte aus dem Layoutbereich mit ausgewählt. Um nur die Objekte aus dem Model z.B. in einen Auswahlsatz zu bekommen:(setq aws (ssget "X" (list(cons 410 "Model"))))------------------viele GrüßeJörnhttp://www.bosse-engineering.com
|
| In das Form Lisp wechseln |
|
Lisp : Änderung in Zeichnung: gelöschte Objekte
joern bosse am 15.08.2007 um 14:47 Uhr (0)
Hallo Henning, Zitat:Wäre natürlich dann die Fragen WANN man die Liste aktualisiert bzw. aktualisieren muss.und genau das ist der Knackpunkt. Ob ich die Listen neu schreibe oder über vl-remove-if-not aktualisiere nimmt sich von der Zeit nicht allzuviel. Aber als Zeitpunkt habe ich im Moment nur, wenn sich das letzte Element ändert. Naja, wenn mit dem Programm so gearbeitet wird, wie ich es vorgesehen habe, wird dieses Problem eh nicht so oft auftauchen, aber es ist möglich, das es auftaucht.--------------- ...
|
| In das Form Lisp wechseln |
|
Lisp : Änderung in Zeichnung: gelöschte Objekte
joern bosse am 15.08.2007 um 14:06 Uhr (0)
Hallo Henning,so mache ich es zur Zeit auch. Aber die Listen werden bei manchen Projekten doch recht groß.Angenommen ich habe 5000 Punktblöcke. Zudem noch zugehörige Punktnummer und Koordinaten, Neigungspfeile, 3D-Polylinien in der Liste gespeichert, d.h., die Listen können schnell doch ganz schön groß werden. Wenn jetzt ein Anwender der Meinung ist, ich lösche 4000 Punktblöcke, dann würde das Programm insgesamt schneller arbeiten, wenn ich die Liste mit den verbleibenden 1000 Punktblöcken einmal neu schre ...
|
| In das Form Lisp wechseln |
|
Lisp : Zeichnung mit zusatz speichern
joern bosse am 19.04.2012 um 20:55 Uhr (0)
Hallo John,in etwa so:Code:(defun c:FileSave ( / FilePfad) (setq FilePfad (strcat (getvar "DWGPREFIX") (cadr (fnsplitl (getvar "DWGNAME"))) "_einfach" (caddr(fnsplitl (getvar "DWGNAME"))))) (JB_FileSave:Command FilePfad) );;;per Command speichern, Dateiformat entsprechend;;;"DefaultFormatForSave"(defun JB_FileSave:Command (FilePfad / ) (cond((=(getenv "DefaultFormatForSave")"48") (if (findfile FilePfad) (command "_.saveas" "2010" FilePfad"_Y") (co ...
|
| In das Form Lisp wechseln |
|
Lisp : Farbe ändern RAL
joern bosse am 02.09.2016 um 13:49 Uhr (1)
Hallo Wolfgang, das verstehe ich gar nicht, mit meinen Testobjekte funktioniert es, mach mal eine neue Zeichnung und probier es.Was ich in Deiner Zeichnung festgestllt habe: wenn ich per Farbauswahldialog "RAL 6019" auswählen, dann wird auch nur der zugehörige RGB-Wert angezeigt, aber keine Farbbuch.Es muss irgendwie an der Zeichnung liegen ist mein erster Schnellschuß, vielleicht findest Du noch was raus, ich habe jetzt nur noch wenig Zeit.------------------viele GrüßeJörnhttp://www.bosse-engineering.comL ...
|
| In das Form Lisp wechseln |
|
Lisp : Reactor, Eigenschaften von kopierten Objekten
joern bosse am 28.03.2007 um 14:09 Uhr (0)
Hallo nochmal,ich habe noch ein Verständnisproblem:wenn ich das obige Beispiel nehme, das funktioniert jetzt, wenn ich den Code in der aktuellen Zeichnung lade, dann werden die Layer aller neuen Objekte aus einer Kopie geändert.Kann man diesen Reactor jetzt in einer Zeichnung speichern?? Wenn ich sonst die Zeichnung wieder öffne muß ich den Reactorcode ja wieder laden.In der Acaddoc.lsp wollte ich das nicht reinbringen, da der Reactor nur für Zeichungen mit einem bestimmten Thema bestimmt sind.Bin wie imme ...
|
| In das Form Lisp wechseln |
|
Lisp : Layer und Farbe umschalten
joern bosse am 15.04.2009 um 11:15 Uhr (0)
Hallo Bu,es ist schon seltsam, in jeder anderen Zeichnung funzt es nicht, genau wie Du beschrieben hast. Nur in einer Zeichung, die ich immer noch geöffnet hatte. Da wollte ich dann herausfinden, was der Zeichnung anders ist als in den anderen, tja, und dann gab es ein Totalabsturz, schade, das werde ich wohl nicht mehr rekonstruieren können.------------------viele GrüßeJörnhttp://www.bosse-engineering.com
|
| In das Form Lisp wechseln |
|
Lisp : Wieso 3D-Punkt?
joern bosse am 23.02.2011 um 17:15 Uhr (0)
Hallo Holzfäller,mit folgendem LISP sollte es gehen. Der Unterschied zu CADmiums ist, daß nur der erste Punkt eine 3D-Koordinate enthält, der 2. und 3. enthalten lediglich eine 2D-Koordinate.Code:(defun C:C3P2D ( / PKT1 PKT2 PKT3) (if (and (setq pkt1 (getpoint "
Ersten Punkt eingeben:")) (setq pkt2 (getpoint "
Zweiten Punkt eingeben:")) (setq pkt3 (getpoint "
Dritten Punkt eingeben:")) ) (command "_Circle" "_3p" pkt1 (list (car pkt2) (cadr pkt2)) (list (car pkt3) (ca ...
|
| In das Form Lisp wechseln |
|
Lisp : Zugriff auf Text innerhalb von Blöcken
joern bosse am 08.12.2016 um 07:57 Uhr (1)
Hallo Ikarus,hier nochmal eine vla-Variante, fast wie die Lösung von Stefan. Es werden alle Blockdefinitionen in der Zeichnung durchlaufen (auch Modellbereich und Layouts), wenn dort Texte (=(vla-get-Objectname Item)"AcDbText") gefunden werden wird für die Rückgabeliste der Blockname, das vla-Text-Objekt und der Textwert zurückgegeben.Wie die Laufzeit bei riesigen Zeichnungen ist weiß ich nicht, ich habe das nur in einer überschaubaren Zeichnung mal getestet:Code:(defun c:test ( / RETLIST) (vlax-for Blocks ...
|
| In das Form Lisp wechseln |
|
Lisp : Elementgenaue Koordinate bei nentsel
joern bosse am 12.04.2012 um 12:29 Uhr (0)
Die Zeichnung????------------------viele GrüßeJörnhttp://www.bosse-engineering.com
|
| In das Form Lisp wechseln |