|
Lisp : Grundriss bearbeitung Automatisieren
cadffm am 08.01.2016 um 22:49 Uhr (1)
Den Dateinamen gibst du ja selber an beim exportieren, daher verstehe ich die Frage nach dem umbenennen nicht.Benenne sie halt gleich richtig, Problem gelöst?Suchst du evtl. nur die Systemvariablen DWGPREFIX und DWGNAME ?(ansonsten kann man natürlich über SHELL cmd oder eine Programmierschnittstelle (vba/lsp) die Datei umbenennen."wieder öffnen"Wenn wir weiterhin (möglichst) ohne Programmierung auskommen wollen, dann ist es möglich(den Autocad-Befehl zum öffnen von Dateien solltest du ja kennen?).Wenn das ...
|
| In das Form Lisp wechseln |
|
Lisp : DCL-Komponente ausblenden
joern bosse am 11.01.2016 um 07:43 Uhr (1)
Hallo Uwe,Du könntest 2 verschiedene DCL-Dateien (einmal mit, einmal ohne die gewünschten Objekte) erstellen, und dann bei Auswahl "des" Wertes die jeweils andere DCL-Datei laden.------------------viele GrüßeJörnhttp://www.bosse-engineering.comLiniensignaturen Youtube
|
| In das Form Lisp wechseln |
|
Lisp : DCL-Komponente ausblenden
cadffm am 11.01.2016 um 08:03 Uhr (1)
Die Lösung ist ja dynamisch, Haken rein= anderen Dialog laden.Es gibt diese Funktion nicht, wohl aber liegt es an dir "dynamisch" dclFiles zu schreiben und zu laden Macht aber nur Sinn wenn man die dcl generell "on The fly" erstellt, in deinem Fall kannst du wirklich einfach einen zweiten Dialog in der so wie so vorhandenen dcl speichern.------------------CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
|
| In das Form Lisp wechseln |
|
Lisp : Zugriff auf CorelDraw
cadffm am 11.01.2016 um 14:40 Uhr (1)
Zitat:Original erstellt von Andreas Kraus:Zur Erklärung:Über ODBX kann ich z.B. direkt auf Excel zugreifen und dort Daten hineinschreiben und auch lesen.Schön das du es kannst, aber alles was ich von dir kenne, da machst du das nicht?Und genau so wie du es dort machst, kannst du auch auf Corel zugreifen (abgesehen vom anderen internen Aufbau bei Corel).Hier ein Beispiel-Post von dir mit einfachem ActiveX-Zugriff auf Excel:http://ww3.cad.de/foren/ubb/Forum54/HTML/015566.shtml Im Netz findet man sicher einig ...
|
| In das Form Lisp wechseln |
|
Lisp : Zugriff auf CorelDraw
Andreas Kraus am 12.01.2016 um 09:32 Uhr (1)
Zitat:Im Netz findet man sicher einiges zur Corel-Schnittstelle, vermutlich aber kaum etwas im speziellen aus AutoCAD heraus.Genau das ist mein Problem.Ich find nix was mir weiterhilft.Zitat:Und genau so wie du es dort machst, kannst du auch auf Corel zugreifenIch suche noch danach wie ich auf Corel zugreifen kann, um mir den internen Aufbau anschauen zu können.Kann sein ich raff das nicht.Kann sein ich seh den Wald vor lauter Bäumen nicht.Kann sein ich suche nach den falschen Begriffen.Bin für jeden Stroh ...
|
| In das Form Lisp wechseln |
|
Lisp : Funktion die Zählvariable um 1 erhöht, wenn man lispfunktion aufruft!
jomann999 am 12.01.2016 um 20:27 Uhr (1)
Hallo tolles Lisp Forum. Ich bin ein Lisp-Anfänger und baue mir ab und zu aus Codestücken kleine Lispprogramme zusammen, für Autocad. An dieser im Betreff erwähnten Aufgabe scheitere ich jedoch. Obwohl das gar nicht so schwer sein kann. Ich habe allerdings gerade nicht die Zeit mich in Lisp so tief hineinzudenken. Veilleich könnte mir jemand helfen? :-) Ich brauche eine kleine Funktion, die eine Zählvariable um 1 erhöht wenn ich die Funktion aufrufe. Bei jedem Funktionsaufruf wird die Variable um 1 erhöht. ...
|
| In das Form Lisp wechseln |
|
Lisp : Funktion die Zählvariable um 1 erhöht, wenn man lispfunktion aufruft!
cadffm am 12.01.2016 um 20:55 Uhr (1)
Bei dem Argument "keine Zeit" hat man zwar "wenig Lust" zu antworten, aber dennoch:In deiner Ausführung vermisse ich ein paar Punkte:a) Soll der Zähler nur in einer Zeichnungssitzung (zwischen einem Öffnen- und dem folgenden Schließenvorgang vorhanden sein?Was ist wenn du die Funktion aus versehen startest bzw. aus versehen abbrichst?Dann benötigst du eine Möglichkeit den Zähler "manuell" zu stellen.Beispiel:(defun c:Test () (setq Zähler (if Zähler (1+ Zähler) 1)) (alert (strcat "Zähler steht auf " (rtos Z ...
|
| In das Form Lisp wechseln |
|
Lisp : prüfen, ob Funktion vorhanden - ansonsten Meldung
tappenbeck am 13.01.2016 um 08:05 Uhr (1)
Moin !wer kenn sie nicht, die Anweisung eine bestimmte Datei zu laden, wenn eine Funktion nicht verfügbar ist um diese dann zu starten:Code:^C^C^P(if(not c:3dstiftschrauben)(load"tools")(princ));3dstiftschraubenMeine Aufgabe geht nun in eine etwas andere Richtung. Gebe eine Meldung aus, wenn eine Funktion nicht verfügbar. Wenn vorhanden, dann selbstverständlich ausführen. Im Grund wäre das dann Code:^C^C^P(if(not c:3dstiftschrauben)(alert "Funktion steht nicht zur Verfügung")(c:3dstiftschrauben))Nun möchte ...
|
| In das Form Lisp wechseln |
|
Lisp : prüfen, ob Funktion vorhanden - ansonsten Meldung
Brischke am 13.01.2016 um 08:17 Uhr (1)
Moin Jan,mit (type ..) kannst du das prüfen:Code:(princ "Nicht geladen: ")(terpri)(princ (type c:JanT))(defun c:JanT () (princ "Jan Tappenbeck"))(princ "
geladen: ")(terpri)(princ (type c:JanT))Grüße!Holger------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen.defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
|
| In das Form Lisp wechseln |
 example.zip |
Lisp : Layer aus csv importieren
cadplayer am 13.01.2016 um 12:49 Uhr (15)
Hallo!Mich würde mal interessieren, wie man es mit Lisp bewerkstelligt, Layer mit einem definierten Namen und Beschreibung anzulegen.In .net habe ich das Verhalten mal nachprogrammiert und funktioniert soweit.Mit Autolisp bin ich soweitCode:(tblsearch "layer" "ADM_ADR") ; Layer gefunden(cdr (assoc 4 (entget (tblobjname "layer" "ADM_ADR")))) ; Description ???Mit Visual LispCode:(setq acadDocument (vla-get-activedocument (vlax-get-acad-object)))(setq theLayers (vla-get-layers acadDocument))(setq layObj (vla- ...
|
| In das Form Lisp wechseln |
|
Lisp : Layer aus csv importieren
cadffm am 13.01.2016 um 13:07 Uhr (1)
(assoc 4 ?Es gibt doch überhaupt keinen gc4 am Layer, warum willst du diesen dann holen?Mit AutoLisp erhält man Zugriff darauf wenn man sich die XDatas mal ansieht.Dein VLA-Versuch, da waren vermutlich nur die dicken Finger im Weg, denn so wie gepostet ist es richtig.(oder die Datenbank war nicht so aktuell, teste mal mit einem vorhandenen Layer bei neu geöffneter Datei, bzw. mit einem Layer welcher über AutoCAD-Befehle erstellt wurde)Und wie immer: Layerbeschreibung im CAD.de Lispforum suchen und direkt A ...
|
| In das Form Lisp wechseln |
|
Lisp : Grundriss bearbeitung Automatisieren
globerDa am 13.01.2016 um 14:15 Uhr (1)
Hallo nochmal,ich habe eigentlich alles hinbekommen was ich wollte.Jetzt bleibt es doch an einer kleinigkeit (hoffentlich) hängen.Kurz zur Erläuterung:Ziel war es aus einer Koordinationsdatei wo mehrere Gewerke vorhanden sind eine Datei zu erstellen, die nur ein Gewerk beinhaltet.Hier das Skript:Modellsdi1sichern(strcat (getvar "DWGPREFIX") "Heizung-" (getvar "DWGNAME"))öffnen(strcat (getvar "DWGPREFIX") "Heizung-" (getvar "DWGNAME"))-xreflösen*zoomgrenzen-layerEntsperren*Tauen*Ein*-LayerFrierenH_*FrierenR ...
|
| In das Form Lisp wechseln |
|
Lisp : Grundriss bearbeitung Automatisieren
cadffm am 13.01.2016 um 15:40 Uhr (1)
Ohne jetzt jedes Wort zu kommentieren:Werf das SDI=1 auf den Müll (beim Einsatz von ScriptPro für den Batchbetrieb).Das Problem mit dem Zeichnung wechseln in einem Script stellt sich nämlich nicht wenn du deine Vorgehensweise etwas anpasst:Code:sichern(strcat (getvar "DWGPREFIX") "Heizung-" (getvar "DWGNAME"))öffnen(strcat (getvar "DWGPREFIX") "Heizung-" (getvar "DWGNAME"))Ich nehme an das der Dateistand vor dem "Sichern" bereits gesichert ist (du öffnest doch sicher eine Datei und führst gleich "sichern" ...
|
| In das Form Lisp wechseln |