|
Lisp : Linien anhand von Länge festmachen
EmBe am 12.12.2008 um 13:56 Uhr (0)
Hallo zusammen,das muntere Fragen geht weiter.Ich habe im Forum recherchiert und habe nur Teillösungen zu meinem Problem finden können.Dank Jörn Bosse und ein paar Ideen hier im Forum konnte ich eine kleine Lisp zurechtschreiben:Code:(if(setq linien(ssget "_X" ((0 . "LINE")(62 . 7)(370 . 9))));Erstelle ein Selectionset aus sämtlichen Elementen mit den Eigenschaften Linie, Farbe weiß und Linienstärke 0,09mm (progn (setq n 0) (repeat (sslength linien) (cond ((= (cdr (assoc 0 (entget (ssname linien n)))) ...
|
In das Form Lisp wechseln |
|
Lisp : (ssget) benötigt unterscheidlich viele Enter ()?
Gargarot am 09.12.2008 um 13:51 Uhr (0)
Zu 1. Das ist mir schon klar. Nur funktionert Lisp eben immer noch in der alten Version und (command "_copy") kopiert nicht mehrfach. Ich möchte ja darum mit der Variable [ss] die vorhermarkierten Objekte holen um die dann mit "m" mehrfach zu kopieren. Nach ss ENTER liegt ja auch mein Problem.Ich bin mir nicht sicher ob das klar rübergekommen, oder aber ich verstehe deine Antwort falsch COPYMODE gibt es übrigens in ACAD 2007 noch(?) nicht. Hab auch nichts ähnliches gefunden. Mit _copy (ganz normal in der ...
|
In das Form Lisp wechseln |
|
Lisp : (ssget) benötigt unterscheidlich viele Enter ()?
fuchsi am 11.12.2008 um 13:31 Uhr (0)
Code:(defun c:k (/ ss)(princ "
Kopieren: ")(if (setq ss (cadr (ssgetfirst)))(command "_copy" ss "" "m")(command "_copy" (ssget) "" "m")))Also das kapieren ich unter AC2007 und höher nicht wirklich.Das tut ja eh nichts anderes als der normale Kopierbefehl.Und was willst Du eigentlich mit dem (ssgetfirst). Das habe ich überhaupt noch nie gebraucht, das (ssget) genau das gleiche macht. Bei einer Vorauswahl werden die selektierten Objekte gewählt und es erfolgt keine Beutzeranfrage. Gibt es keine Vorausweahl s ...
|
In das Form Lisp wechseln |
|
Lisp : Alle Bemassungsstile löschen
Wolfgang S am 15.12.2008 um 07:33 Uhr (0)
Ich hatte die selbe Aufgabenstellung - habe auf Standard gesetzt: - den Layer auf 0 - den Textstil auf Standard - den Bemstil auf Standard - den Multilinestil auf Standard - evt. in Modellbereich wechseln wenn irgendwo erforderlich - Tabellenstil setzen - Multiführungslinienstil setzen - dann bereinigennebenbei hab ich bei mir auch die Autocad-Einheit (INSUNITS) korrigiert.das MiniLisp bei der Lisp-Startgruppe reinschmeissen (reine Lispanweisungen, keine Befehlsdefinition) und dann die gewünschten DWGs öf ...
|
In das Form Lisp wechseln |
|
Lisp : AEC-Bemaßungsstil
RoyCAD am 12.12.2008 um 11:33 Uhr (0)
Ich es möglich per Lisp ein Standart Bemaßungsstil auf das ADT Bemaßungsstil umzustellen.(vlax-put-property (vlax-ename-vla-object (car(entsel))) Stylename ""Bemstil_neu"") funktioniert hier nicht, weil die IaecDimension kann man nicht über Property ansprechen. Die Frage ist geht das überhaut mit AktivX?
|
In das Form Lisp wechseln |
|
Lisp : Attributswert mit entmod nicht mehr änderbar
Hunchback am 15.12.2008 um 13:06 Uhr (0)
Und genau DAS funktioniert hier nicht. Bei "GUT" funktionierts, bei "SCHLECHT" fuchsts. entmod gibt brav nil zurück, auch nach AutoCAD neustart. An einer Systemvariable kanns ja wohl nicht liegen...Danke fürs probieren, Thomas.GrüßeMartin------------------You seem (in my (humble) opinion (which doesnt mean much)) to be (or possibly could be) more of a Lisp programmer (but I could be (and probably am) wrong).
|
In das Form Lisp wechseln |
|
Lisp : Attributswert mit entmod nicht mehr änderbar
Hunchback am 15.12.2008 um 14:33 Uhr (0)
Auch Dir Danke fürs nachschauen, Jörn.Ich hab jetzt mal mit dbview in die Beispielzeichnung geschaut und mir ist da folgendes aufgefallen: Die Blockreferenz "schlecht" hat im Gegensatz zum "gut" zusätzlich den Gruppencode 48 (Linetype scale, Wert:18.000) und die Attribute bei der "schlecht"-Referenz zusätzlich den GC 284 (8bit integer, Wert 1). Wo die beiden GCs herkommen ist mir im Mom schleierhaft...GrüßeMartin------------------You seem (in my (humble) opinion (which doesnt mean much)) to be (or possibly ...
|
In das Form Lisp wechseln |
|
Lisp : Attributswert mit entmod nicht mehr änderbar
Hunchback am 15.12.2008 um 16:17 Uhr (0)
Anders als im ersten Post geschrieben kann ich auch keine Attribute mit entmod verändern wenn ich einen Block in die Zeichnung meines Kollegen einfüge. Das liegt anscheinend daran, das in der Blockdefinition der Gruppencode 284 den Attributsdefinitionen hinzugefügt wird (lt.AutoCAD-Objekte Buch legt der GC 284 fest, wie Nullen in den Toleranzangaben behandelt werden [bei Bemaßungen]). Und wenn dieser GC 284 in einer Attributsreferenz steht kann ich diese nicht entmoden. Ich hab auch versucht den GC 284 rau ...
|
In das Form Lisp wechseln |
|
Lisp : Lisp warten lassen
CADchup am 15.12.2008 um 10:16 Uhr (0)
Hi,jungejunge, was ihr hier alles ausgrabt... @StephanWie du schon schriebst, bedingt deine Lösung eine Express-Tools-Installation. In diesem Fall wären die Funktionen brauchbare Alternativen.@Jörn + allIch habe es damals anders lösen können, indem ich das Tool so umgestellt habe, dass ich die temporäre Datei erst am Ende gelöscht habe. Aus Performancegründen (und weil es einfach besser aussieht ) ist das IMHO der zu bevorzugende Weg, weil die möglicherweise entstehenden Wartezeiten erst ganz am Ende an ...
|
In das Form Lisp wechseln |
|
Lisp : Lisp warten lassen
Rabbit 007 am 15.12.2008 um 21:43 Uhr (0)
Nur mal so ein weit hergeholter Gedanke !Ich kann doch hier über so ziemlich alles abfragen "wbemScripting.SwbemLocator" z.B. Bios, Netzwerk, Benutzer, etliche Seriennummer von den Geräten und und und und und ...... Vielleicht ja auch ob die Festplatte arbeitet oder nicht.Wie gesagt nur ein Gedanke und Vielleicht für den ein oder anderen einen Versuch wert.
|
In das Form Lisp wechseln |
|
Lisp : Attributswert mit entmod nicht mehr änderbar
Hunchback am 15.12.2008 um 12:49 Uhr (0)
Ich habe heute von einem Kollegen eine Zeichnung bekommen, bei der die Attributswerte der Blockreferenzen mittels entmod nicht änderbar sind. Mit attedit kann ich die Attributswerte aber sehr wohl ändern. Darauf hab ich eine der Blockreferenzen in eine leere Zeichnung kopiert - mit dem selben Ergebnis. Wenn ich in der leeren oder in der Quellzeichnung eine neue Blockreferenz einfüge (aus der Zeichnung, nicht von Datei) funktioniert entmod (aber nur bei den neu eingefügen Blöcken). Audit gibt keinen Fehler ...
|
In das Form Lisp wechseln |
|
Lisp : Attributswert mit entmod nicht mehr änderbar
Hunchback am 16.12.2008 um 09:10 Uhr (0)
Danke Jörn, ich hab schon an mir gezweifelt..Mit AutoCAD 2007 kann man übrigens auch keinen z.B. Kreis mit GC 284 und Wert 1 mittels entmake erzeugen.Vielleicht kann das mal jemand mit 2008 testen?GrüßeMartin ------------------You seem (in my (humble) opinion (which doesnt mean much)) to be (or possibly could be) more of a Lisp programmer (but I could be (and probably am) wrong).
|
In das Form Lisp wechseln |
|
Lisp : Lisp warten lassen
CADchup am 16.12.2008 um 09:13 Uhr (0)
@DanielZiemlich einfach sogar. Ungetestet könnte das etwa so aussehen:Code:(defun mx:Wait4FinishedFile (filename / fsize) (setq fsize (vl-file-size filename)) (command "_.DELAY" "1000") (while (/= fsize (setq fsize (vl-file-size filename))) (command "_.DELAY" "1000") ))GrußCADchup------------------CADmaro.de
|
In das Form Lisp wechseln |