|
Lisp : schriftfelder via lisp (ac2005)
marc.scherer am 25.08.2009 um 12:23 Uhr (0)
Da war det Dorfy schneller...Der vollständigkeit halber auch noch mal meine Lösung mit Mittelpunkt und als besonderen BonBon auch noch ein Handling für Bögen (die Haben keine Eigenschaft .Length)Code:(vl-load-com)(defun C:LNKFLD (/ INDEX SELSET) (setq INDEX 0) ;_ Zähler für Repeat initialisieren (princ "
Zu beschriftende Linienobjekte wählen:") (if (setq SELSET (ssget ((0 . "*POLYLINE,LINE,ARC")))) ;_ Auswahlsatz mit Filter erstellen (repeat (sslength SELSET) ;_ Jedes Objekt des Auswahlsatzes durchgehen.. ...
|
| In das Form Lisp wechseln |
|
Lisp : druckbereich in Lisp
marc.scherer am 10.03.2005 um 17:24 Uhr (0)
Hi,über ActiveX läßt sich das relativ einfach realisieren...Du benötigst ein paar Methoden und Eigenschaften des aktiven Layoutsund kannst Dir daraus den "druckbaren Bereich" rechnen...Wichtig sind hier die Methoden:getPaperSize - Gibt die Blattgröße zurückgetPaperMargins - Gibt die Randabstände zurückund die Eigenschaften:PLOTORIGIN - Gibt den Plotursprung zurückPlotRotation - Gibt die Blattdrehung zurückJe nachdem wie das Blatt nun gedreht ist und der Plotursprung liegt kann man nun genau die Layout-Koor ...
|
| In das Form Lisp wechseln |
|
Lisp : druckbereich in Lisp
marc.scherer am 10.03.2005 um 17:24 Uhr (0)
Hi,über ActiveX läßt sich das relativ einfach realisieren...Du benötigst ein paar Methoden und Eigenschaften des aktiven Layoutsund kannst Dir daraus den "druckbaren Bereich" rechnen...Wichtig sind hier die Methoden:getPaperSize - Gibt die Blattgröße zurückgetPaperMargins - Gibt die Randabstände zurückund die Eigenschaften:PLOTORIGIN - Gibt den Plotursprung zurückPlotRotation - Gibt die Blattdrehung zurückJe nachdem wie das Blatt nun gedreht ist und der Plotursprung liegt kann man nun genau die Layout-Koor ...
|
| In das Form Lisp wechseln |
|
Rund um AutoCAD : ACAD 2010, im Layout sehr langsam
marc.scherer am 25.11.2009 um 09:58 Uhr (0)
Hatte doch kein Lisp geschrieben, wollte ich nur immer tun...Aber jetzt hab ich eines ;-)Code:(VL-LOAD-COM);|Funktion deaktiviert die Option "Plotstile anzeigen" für alle Layouts einer Zeichnung.Argumente:KeineRückgabewerte:Liste von Vl-Objekten der Layouts bei denen die Option erfolgreich verändert wurde, bzw. eine Änderung überhaupt erforderlich war.Oder nil, wenn nix geändert wurde.Beispielaufruf:(setq xx (CAD:DE:NOSHOWPLOTSTYLES))|;(defun CAD:DE:NOSHOWPLOTSTYLES (/ RETVAL) (vlax-for ITEM (vla-get-layo ...
|
| In das Form Rund um AutoCAD wechseln |
|
Rund um AutoCAD : ACAD 2010, im Layout sehr langsam
marc.scherer am 25.11.2009 um 09:58 Uhr (0)
Hatte doch kein Lisp geschrieben, wollte ich nur immer tun...Aber jetzt hab ich eines ;-)Code:(VL-LOAD-COM);|Funktion deaktiviert die Option "Plotstile anzeigen" für alle Layouts einer Zeichnung.Argumente:KeineRückgabewerte:Liste von Vl-Objekten der Layouts bei denen die Option erfolgreich verändert wurde, bzw. eine Änderung überhaupt erforderlich war.Oder nil, wenn nix geändert wurde.Beispielaufruf:(setq xx (CAD:DE:NOSHOWPLOTSTYLES))|;(defun CAD:DE:NOSHOWPLOTSTYLES (/ RETVAL) (vlax-for ITEM (vla-get-layo ...
|
| In das Form Rund um AutoCAD wechseln |
|
AutoLisp : Messen / Teilen mit Punktnummerierung - Intelligenter Linientyp
marc.scherer am 01.06.2004 um 11:52 Uhr (0)
Hi, Du meinst also eine Beschriftung, die unabhängig von der jeweiligen Länge der Pline arbeitet? Im Augenblick orientiert sich die Beschriftung ja an der Länge der Pline bzw. der Abschnittslänge... Hm... Im Prinzip müßte das mit dem Scaling der Sub MS:Station funktionieren. Rufe mal die Funktion Test auf. Folgender Dialog ergibt sich: Objekt wählen: [Wähle ein Objekt] Startwert für Stationierung eingeben/picken: 0 Maßstab für Stationierung eingeben: 0.02 Inkrement für Stationierung eingeben/picken: 50 T ...
|
| In das Form AutoLisp wechseln |
|
Rund um Autocad : Blockauswertung
marc.scherer am 24.06.2002 um 13:46 Uhr (0)
Hi Wolfgang, folgendes Downloaden: 1. "etv1-9.exe" von: http://www-eng.lbl.gov/~anita/pdm/ 2. Übersetzung der Etv1-9.exe (teilweise, halt die wichtigen Sachen wie Mnu und Tooltips usw.) von: http://home.arcor.de/cadwieselx/Sonstiges/Express-D.zip Dann das tun, was in der Übersetzung u.a. beschrieben wird: ;_ Zitat Beginn Hi, dies ist der erste Teil der Express-Tools Übersetzung. Übersetzt wurden: # Alle Funktionen die mit Layern zu tun haben und im Quellcode vorliegen, (keine Arx-Funktionen) sowie ...
|
| In das Form Rund um Autocad wechseln |
|
Lisp : vor jedem befehl
marc.scherer am 28.11.2006 um 14:29 Uhr (0)
Zitat:Original erstellt von GrassHopper:...(initget "Elektro Wasser Gas") ...(getkword (strcat "
Layername der verwendet werden soll? " (cond ((= *Lname* "Elektro") "Elektro/Wasser/Gas ") ((= *Lname* "Wasser") "Elektro/Wasser/Gas ") ((= *Lname* "Gas") "Elsktro/Wasser/Gas ") ) " (Für Vorgabe einfach Enter drücken) " ) ) ) Hi,wenn wi ...
|
| In das Form Lisp wechseln |
|
Rund um Autocad : Block über Attribut auswählen
marc.scherer am 18.11.2004 um 14:34 Uhr (0)
Hi Strich, Versuche es mal mit dem Code hier: (als *.lsp Datei speichern, in Acad laden und mit GETINSERTSBY-VALUE starten!) Code: (defun C:GETINSERTSBY-VALUE (/ QUESTION SEARCHSTRING WHAT?) (sssetfirst) (if (not $$GLOBAL-LAST-SEARCHSTRING) (setq QUESTION
Bitte Such-Text eingeben (wcmatch-Wildcards zulässig): ) (setq QUESTION (strcat
Bitte Such-Text eingeben (wcmatch-Wildcards zulässig) $$GLOBAL-LAST-SEARCHSTRING : ...
|
| In das Form Rund um Autocad wechseln |
|
AutoLisp : probleme mit offset
marc.scherer am 20.08.2004 um 14:36 Uhr (0)
Hi, und hier mal ein Ansatz in VLisp: Code: ;; Hier nur Beispiel, keinerlei Errorhandling ;; Versetzt ein zu pickendes Objekt um ;; die in der Liste angegebenen Werte. ;; RetVal = List von Vla-Objekten die erzeugt wurden (setq objlst (MOFFSET (car (entsel)) (1 3 7.5 10 -1 -3 -7.5 -10))) ... und auf diesen Funktionen basiert der Code oben: Code: ;; Hier nur Beispiel, keinerlei Errorhandling ;; Multioffset-Function (defun MOFFSET (ENAME OFFSETLIST /) (mapcar (function (lambda (X) (MS ...
|
| In das Form AutoLisp wechseln |
|
Rund um AutoCAD : systemvariable pickbox
marc.scherer am 08.09.2009 um 14:53 Uhr (0)
Zitat:Original erstellt von hans100:danke alfred,denke es wird dann wohl die applikation sein, vermessungsprogramm,die variable wechselt nicht zwischen 2 befehlen sondern beim öffnen einer 2. dateiHi Hans100,dann solltest Du mal nach ner acaddoc.lsp Datei in Deinem AutoCAD Suchpfad forschen.Am schnellsten über die Eingabe von folgendem in der Befehlszeile:Code:(findfile "acaddoc.lsp")Es gibt aber noch ein paar andere Startplattformen für automatisch ausgeführte Befehl beim Öffnen einer zweiten Datei.Das g ...
|
| In das Form Rund um AutoCAD wechseln |
|
AutoLisp : BAND od. PLINE-Teil versetzen
marc.scherer am 30.05.2006 um 22:39 Uhr (0)
Zitat:Original erstellt von m-troeger:- nun möchte ich 2 beliebige Kontrollpunkte auf der Polylinie picken- es soll nun eine Art BAND (Breite frei definierbarbar) entlang der Polylinie zwischen den 2 gepickten Punkten geszeichnet werden.Es sollen aber keine BÄNDER entstehen, sondern eine Polylinie über die Außenkante der Bänder.Habe ich geproggt. Meine Funktion erzeugt ein "Schutzrohr" entweder als Umring-Polygon oder als breite Polylinie. Es gab ein paar kleine Hakeligkeiten bei der Umsetzung aber auch ...
|
| In das Form AutoLisp wechseln |
|
Rund um Autocad : objektdaten auslesen.
marc.scherer am 25.01.2006 um 14:09 Uhr (0)
Hi,ich arbeite gerade an einem Satz von AutoLisp Funktionen die sich u.a. der Lisp Api von AdeskMap bedienen.Damit könnte man sicher das ein oder andere machen.Beispiel:Code:;|Funktion ermittelt die an ein Objekt angehängten Objektdatenund zwar mit allen für die weitere Verarbeitung notwendigenDaten, so z.B. auch die für den schnellen Zugriff auf dieFeldinhalte relevante RecordID die von der Funktion ADE_ODGETRECFIELDverwendet wird.(setq recid (ade_odgetrecord ename strTablename recordnumber))Anmerkung: re ...
|
| In das Form Rund um Autocad wechseln |