|
Lisp : AutoCAD 2009 und UNDOCTL
CADwiesel am 08.05.2008 um 17:24 Uhr (0)
also ich kann außer dem Geschwindigkeitsunterschied keinen Unterschied erkennen.Ich habe aber aus Zeitgründen nur einige Befehle in der Zeichnung ausgeführt.Aber das Ergebniss ist eine Endlosschleife - bei mirmein undoctl bleibt auf 53 ------------------Gruß CADwieselBesucht uns im CHAT
|
| In das Form Lisp wechseln |
|
Lisp : Bogen zeichnen mithilfe der Krümmung
spider_dd am 09.05.2008 um 12:20 Uhr (0)
Hallo Erich, mit command würde es z. B. so gehenCode:(command "_arc" P1 "_end" P2 "_direction" Deine_Startrichtung)Aber: Autocad macht die Bögen immer gegen den Uhrzeigersinn, wenn Deine Startrichtung in Uhrzeigersinn läuft, werden beim gezeichneten Bogen Start- und Endpunkt getauscht (einfach mal ausprobieren).LGThomas
|
| In das Form Lisp wechseln |
|
Lisp : Lisp aus Delphi starten
fuchsi am 13.05.2008 um 10:45 Uhr (0)
Hm. Delphi. Schwierige Frage. Delphi verwendet meines Wissens nach lediglich die COM-Schnittstelle von Autocad. Da gibts es nicht wirklich viele Möglichkeiten. Die einzige Möglichkeit die mir einfällt wäre über die SendCommand Methode des Drawing Objektesin VBA würde es so ausschauen ThisDrawing.SendCommand ("(MeineLisp)" & vbCr)------------------ Ing. Anton FuchsWWW.FFZELL.AT.TC
|
| In das Form Lisp wechseln |
|
Lisp : Lisp aus Delphi starten
Brischke am 13.05.2008 um 14:06 Uhr (0)
Hallo Joachim,es kommt darauf an, was du mit dem Delphi-Code machst.Willst du einen Script(Batch)lauf über viele Zeichnungen realisieren, dann könnte die Erzeugung einer acaddoc.lsp(im Zeichnungsverzeichnis) helfen. Diese Datei weird automatisch nach dem Öffnen geladen. Wenn in dieser der Lisp-Aufruf steht, startet das Programm also ganz allein.Den VBA-Code kannst du mit _vbarun starten - im Zweifel auch wieder über SendCommand.Bei Fragen ...Grüße Holger------------------Holger BrischkeCAD on demand GmbHIn ...
|
| In das Form Lisp wechseln |
|
Lisp : Doppelte Texte in dwg Datei finden
Daniel Möller am 17.01.2008 um 17:30 Uhr (0)
Hallo zusammen,ich suche ein kleines Lisp Tool das mir ermöglicht in einer dwg Datei nach doppelten Texten zu suchen die auch auf unterschiedlichen Layern liegen können.Hat jemand so ein Tool oder könnte jemand sowas ohne großen Umstand machen?Danke für eure TipsGrüßeDaniel Möller
|
| In das Form Lisp wechseln |
|
Lisp : Doppelte Texte in dwg Datei finden
Kintaro am 13.05.2008 um 15:49 Uhr (0)
Hallo Daniel,bist Du bezüglich der Text suche fündig geworden? Bin nähmlich auch auf der suche nach genau diesen Funktion bzw. lisp. Mir würde eine liste mit allen doppelten texten reichen(einschlieslich Attributstexte). So kann dann kontrolliert werden ob z.B: ein Block einfach kopiert und nicht umbeschriftet worden ist. freundlich grüsse Alex
|
| In das Form Lisp wechseln |
|
Lisp : Auslesen einer AutoCAD-Datei
easwarananthan am 13.05.2008 um 23:14 Uhr (0)
Ich bekomme es nicht hin die Objekte in die Liste abzubilden und habe dann gleich versucht mit einem anderem Mittel das Problem zu lösen.Sollte das dann eher iterativ (also mit einer Schleife eingelesen werden) oder kann man die Objekte mit einem Rutsch auf die Liste abbilden?Vielen Dank
|
| In das Form Lisp wechseln |
|
Lisp : Auslesen einer AutoCAD-Datei
wronzky am 14.05.2008 um 12:28 Uhr (0)
Hallo,um Elemente in eine neue Datei zu schreiben benutzt Du am besten Wblock (s. Holger). Dafür brauchst Du nicht die einzelnen Elementnamen, Du kannst im Ausgabebefehl gleich den Auswahlsatz übergeben:Code:(if (setq neuele (ssget)) (command "_wblock" pause "" (getvar "insbase") neuele ""))Grüsse, Henning------------------Henning JesseVoxelManufakturComputer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
| In das Form Lisp wechseln |
|
Lisp : Auslesen einer AutoCAD-Datei
easwarananthan am 13.05.2008 um 17:40 Uhr (0)
Hallo,ich würde gerne in einer AutoCAD-Datei, die einzelnen Objekte auslesen und in eine neue Datei schreiben.Ich versuche es mit SSGET, aber ich finde keine Möglichkeit die Entities aufzulisten.z.B. würde ich klappt es mit Einzelnen(cdr (assoc gruppencode(entget(entlast)))),so dass ich die Eigenschaften separat auslesen kann.Mich interessiert wie bzw. ob man mit SSGET alle Entities einlesen und danach mit einer Möglichkeit die Information in eine externe Datei schreiben kann.Vielen Dank.mfg
|
| In das Form Lisp wechseln |
|
Lisp : Auslesen einer AutoCAD-Datei
CADmium am 13.05.2008 um 19:07 Uhr (0)
ssget erstellt nur einen Auswahlsatz von Objekten, wobei eine Filterung möglich ist.. Diesen Auswahlsatz kann man dann durchlaufen und die einzelnen Objekte entprechend z.B. mit entget weiter auswerten.Reicht dir der Befehl LISTE nicht?------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
| In das Form Lisp wechseln |
|
Lisp : Auslesen einer AutoCAD-Datei
Brischke am 14.05.2008 um 11:59 Uhr (0)
Hallo,ich habe zwar nicht recht verstanden, was du nun konkret machen willst (Alle Elemente in neue Datei schreiben? - dafür gibts WBLOCK) aber wie man einen Auswahlsatz in eine Liste überführt, damit kann ich helfen:Code:(defun bau_elemli (asatz / n elemli) (setq n 0) (repeat (sslength asatz) (setq elemli(cons (ssname asatz n) elemli) n (1+ n)) ) elemli )Diese Subroutine erledigt das.Bei Fragen ...Grüße Holger------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen.
|
| In das Form Lisp wechseln |
|
Lisp : AUtoCAD 2008: keine anonymen Blöcke mit Attributen möglich?
CAD-Huebner am 14.05.2008 um 20:31 Uhr (0)
Bei mir gehts (getestet mit AutoCAD Civil 3D 2008 SP1)------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de
|
| In das Form Lisp wechseln |
|
Lisp : AUtoCAD 2008: keine anonymen Blöcke mit Attributen möglich?
archtools am 14.05.2008 um 20:15 Uhr (0)
Dieser Code funktioniert bei einem Anwender unter AutoCAD 2008 nicht - auf älteren AutoCAD Versionen funktioniert er einwandfrei, wenn man den neuerdings notwendigen Gruppencode 280 aus den ATTDEF und ATTRIB Listen entfernt.Könnte das jemand mal überprüfen?DankeTomCode:(defun c:bl-test (/ oldattmulti name) (setq oldattmulti (getvar "ATTMULTI")) (setvar "ATTMULTI" 0) (entmake ( (0 . "BLOCK") (2 . "*A") (70 . 3) (10 0.0 0.0 0.0) ) ) (entmake ( (0 . "ATTDEF") (100 . "A ...
|
| In das Form Lisp wechseln |