|
Lisp : abfrage xref
CAD-Huebner am 06.04.2008 um 00:29 Uhr (0)
So würde es z.B. gehen:Code:(vl-load-com)(defun xreftest ( / block xrefexist) (vlax-for block (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object))) (if (= (vlax-get-property block "IsXref") :vlax-true) (setq xrefexist T) ) ) (alert (strcat (if Xrefexist "" "keine " ) "Xrefs in der Zeichnung vorhanden!")))(xreftest); Aufruf der Funktion beim Laden------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de
|
| In das Form Lisp wechseln |
|
Lisp : Format der geöffneten Zeichnung bestimmen
CAD-Huebner am 05.03.2014 um 11:18 Uhr (1)
Das Format steht doch ausschließlich in der Datei. In AutoCAD sind die Objekte dann immer im aktuellen Format als Objekte vorhanden. Und eine zeichnungsbezogene Systemvariable mit dem zuletzt benutzen Speicherformat ist mir nicht bekannt.Das Auslesen der Datei ist deshalb wohl die beste/einzige Wahl.Code dazu findet sich u.a. hier:http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/How-to-find-the-last-version-file-was-saved-as/td-p/865079Release 2004/5/6 AC1018 Release 2007/8/9 AC1021 Release 2 ...
|
| In das Form Lisp wechseln |
|
Lisp : VLR-DocManager-Reactor
CAD-Huebner am 27.02.2007 um 11:26 Uhr (0)
Der Reaktor :VLR-DOCUMENTCREATED funktioniert nur im Single Document Modus (SDI = 1) und wenn zusätzlich Lispinit = 0, d. h. AutoLISP-Funktionen und -Variablen werden von einer Zeichnung zur nächsten erhalten.Den Aufruf von _NEW oder _SNEW kann man wohl besser über einen Command-Reaktor auswerten, bevor die neue Zeichnung angelegt wird.Edit Ansonsten für Neu/Öffen S::Startup benutzen.------------------Mit freundlichem GrußUdo Hübner[Diese Nachricht wurde von CAD-Huebner am 27. Feb. 2007 editiert.]
|
| In das Form Lisp wechseln |
|
AutoLisp : 2 ode 3 letzte Elemente
CAD-Huebner am 26.01.2005 um 22:13 Uhr (0)
(entnext) ohne Elementnamen gibt das erste Element der Zeichnungsdatenbank zurück. Davon ausgehend kann man auch das Xte von hinten bestimmen. und den Rest natürlich wieder mit (entnext xtesElement). Eine Routine dafür könnte so aussehen: Code: ; diese Routine gibt den Elementnamen des ; x-letzten Objektes der Zeichnung zurück (defun xvorletztem (x / pointer1 pointer2) (setq pointer1 (entnext) pointer2 Pointer1 ) (repeat (1+ x) (if pointer2 ; falls gar nicht x Objekte ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Auflösen von Blöcken
CAD-Huebner am 16.09.2004 um 18:42 Uhr (0)
Zitat: Original erstellt von Detlef Wischmann: Hallo Leute, ich verzweifle mal wieder an meinen minimalen Lisp-Kenntnissen. Ich möchte gerne einen bestimmten Block in meiner Zeichnung per Lisp-Programm auflösen. Den Block gibt es mehrfach in der Zeichnung. Ich habe schon mal angefangen: (setq auswahl (ssget X (list (cons 2 tuer )))) (command _explode auswahl ) Bei anderen auswahlen ausser Blöcken klappt es eigentlich. Was habe ich hier vergessen? Viele Grüße Detlef Ich würde noc ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Lispfehler in tschechischem Acad
CAD-Huebner am 25.07.2006 um 18:48 Uhr (0)
Der Handle ist pro Zeichnung immer eindeutig! Je mehr Objekte, desto länger wird die Handle Nummer (Hex-Zahl).------------------Mit freundlichem GrußUdo Hübner
|
| In das Form Lisp wechseln |
|
Lisp : Lisp Programme von R14 nach 2007 portieren
CAD-Huebner am 03.09.2006 um 19:00 Uhr (0)
Hallo Zoff,wenn du ein paar sinnvolle Eingabewerte vorgibst und eine AutoCAD (R14) Zeichnung mit dem Soll-Ergebnis hier reinstellst, dann würde ich es mal testen. Aber extra R14 installieren ist mir zu aufwändig.------------------Mit freundlichem GrußUdo Hübner
|
| In das Form Lisp wechseln |
 |
Lisp : Schulungsversion
CAD-Huebner am 14.09.2011 um 09:39 Uhr (0)
Wenn ich eine Zeichnung mit AutoCAD (kommerziell) öffne oder auch nur einfüge, die von einem AutoCAD Schulungsprodukt erstellt oder bearbeitet wurde, erhalte ich folgende Meldung (siehe Bild). Dann ist es doch noch nicht zu spät - oder?------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de
|
| In das Form Lisp wechseln |
|
Lisp : Zeichnungseinheiten von mm nach m: units
CAD-Huebner am 15.04.2013 um 19:09 Uhr (0)
Das sind zwei ganz unterschiedliche Befehle!Einmal der AutoCAD Befehl EINHEIT/_UNITSund einmal der AutoCAD Architecture Befehl _AECDWGSETUPErsterer kennt weder Zeichnungseinheiten, noch kann er eine Zeichnung skalieren. ------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de
|
| In das Form Lisp wechseln |
|
Lisp : Block mit Command _.insert und * für Ursprung einfügen?
CAD-Huebner am 08.08.2016 um 12:01 Uhr (1)
Hallo Jörn, ungetestet - Was passiert, wenn "Meinblock" in der Zeichnung bereits vorhanden ist und auch mindestens eine eingefügte Blockreferenz besitzt? Schlägt die Blocklöschung dann nicht fehl?Ggf. ist es günstiger so etwas wiecommand "_.insert" RandomNewBlockname "="pfad))(command)zu verwenden.------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de
|
| In das Form Lisp wechseln |
|
AutoLisp : Fremdpläne anpassen
CAD-Huebner am 12.10.2004 um 15:16 Uhr (0)
BURST aus den EXPRESSTOOLS (Um Blöcke mit Attribute zu zerlegen, wobei der Attributinhalt in Text umgewandelt wird) Zum Binden von XREFS -XREF Binden * und NUKE.lsp (bei CADwiesel.de) zum setzen aller Blockelemente auf Vonlayer. (wie lange suchst du schon? ) Wozu das auf allen Layouts passieren soll, wenn die Zeichnung nur als XREF genutzt wird ist mir aber ein Rätsel. Mit freundlichem Gruß Udo Hübner
|
| In das Form AutoLisp wechseln |
|
Lisp : Polyline Punkte Runden...?
CAD-Huebner am 05.06.2014 um 08:11 Uhr (1)
"Kunde wünscht" ist natürlich für Dich als AN ein entscheidender Punkt.Als Programmierer sehe ich aber immer noch nicht den Nutzen, warum sich der Kunde das wünscht.Gibt es eine repräsentative Beispielzeichnung?Warum wurde die Zeichnung nicht bereits mit "gerundeten" Koordinaten gezeichnet?------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de
|
| In das Form Lisp wechseln |
|
Lisp : Polyline Punkte Runden...?
CAD-Huebner am 09.06.2014 um 17:33 Uhr (1)
Mein Vorschlag dazu: SKALIEREN (Befehl Varia)Skaliere die ganze Zeichnung um Faktor 2, runde dann auf 0 Nachkommastellen ab und skaliere dann auf Originalgröße zurück um 0.5 (Dann hast du Koordinaten auf 0.5 abgerundet).Das müsste auch mit der DXF Export Variante (also VARIA 2 , DXFOUT 0 DXFÖFFNEN VARIA 0.5) die gewünschten Ergebnisse bringen.------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de
|
| In das Form Lisp wechseln |