|
Rund um Autocad : attribute von blöcken auf polylinien auslesen
CADmium am 15.04.2006 um 19:40 Uhr (0)
Zitat:Original erstellt von rickoT:hallo georghab ich auch schon probiert, kann aber immer nur eine polylinie und die damit verbundenen objekte wählen, das ist bei vielen polylinien dann eher mühsamTja, dann mußt du eben abwägen, was mühsamer ist ... weiter wie bisher arbeiten, bzw. fastsel und eatttext nutzen, bzw. sich eine entsprechende Lisp- oder VBA-Routine zu schreiben. Diese Entscheidung kann dir keiner abnehmen.------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung ...
|
| In das Form Rund um Autocad wechseln |
|
Lisp : Layerstruktur bearbeiten
CADmium am 23.06.2008 um 16:06 Uhr (0)
Zitat:Original erstellt von Musicus:Ich hab mal das angehangen, was ich schon habe, das funktioniert auch wie es soll bei Elementen, die nicht in Blöcken sind. Genau das gleiche will ich jetzt halt irgendwie für die Blöcke umsetzen. Außer dem ersten Teil mit den Layerdefinitionen, einmal anlegen reicht ja.Jo, und wie es geht, hab ich dir hier schon mal aufgezeigt ... aber das sind eben nicht nur 20 Zeilen ... und wie das prinzipiell in Blöcken funktioniert, kannst du aus dem anderen Lisp entnehmen .. da ...
|
| In das Form Lisp wechseln |
|
Lisp : 2. Punkt von GETDIST
CADmium am 09.03.2004 um 11:24 Uhr (0)
Die Systemvariable LASTPOINT speichert den letzten eingegebenen Punkt als BKS-Koordinate des aktuellen Arbeitsbereiches.Wenn du nach GETDIST noch woanders hinklickst, ist das Ergebnis natürlich nicht das von dir erwünschte! Deshalb , wenn du explizid den zweiten Punkt brauchst, verwende das obige Lisp!und :getpoint [pt] [msg]) The user can specify a point by pointing or by entering a coordinate in the current units format. If the pt argument is present, AutoCAD draws a rubber-band line from that point to t ...
|
| In das Form Lisp wechseln |
|
Lisp : Parallelität prüfen
CADmium am 21.01.2010 um 09:19 Uhr (0)
naja .. Linen stellen für mich Vektoren im Raum dar (mit Betrag und Startpunkt) .. und da gibt es das SKALARPRODUKT ab acos= ------ |a| |b| (- einfach mal bei WIKI schauen ... acos bei Parallel=1)die Umsetzung im Lisp ist dank mapcar und distance dann eigentlich nicht das Problem .... zur Not kannste da aber auch noch mal anfragen. wenn man es sich ganz einfach machen will, kann man auch die Funktion vlax-curve-getfirstDeriv , welche die 1. Ableitun ...
|
| In das Form Lisp wechseln |
|
Rund um AutoCAD : Schriften als Pfade + verbinden
CADmium am 15.12.2008 um 08:03 Uhr (0)
Vielleicht hat ein chinesisches Autocad sowas ....Wenn es nicht gerade Sonderzeichen ect. sind, würde sich doch für euer Problem ein Programm anbieten , das den Text ausliest, sich dessen Eigenschaften und Inhalt merkt und jedes Zeichen duch (eine) entsprechende Polylinie ersetzt und dann den Text löscht. Das sollte sich z.B. mit Lisp realisieren lassen.Aber wie gesagt, bei den chinesischen Schriftzeichen ist da ( auch wenn es möglich wäre) sicher Schluß..------------------ - Thomas -"Bei 99% aller Probl ...
|
| In das Form Rund um AutoCAD wechseln |
|
Rund um AutoCAD : Autocad 13_ 2 verschiedene Benutzerprofile
CADmium am 21.09.2012 um 10:07 Uhr (0)
... eigentlich sollte eine 2. acad.pgp in einem anderen Suchorder reichen .. acad verwendet die zuerst gefundene ... also bräuchte man via setenv ect . bloß die reihenfolge der Suchordner ändern und via neuinit die andere acad.pgp initialisieren ... Würde mittels kleinem Lisp und Button gehen oder sogar via Reaktor automatisch beim BKS wechseln oder ähnlichem ...Profilwechsel wurde vor kurzem hier beschrieben:http://ww3.cad.de/foren/ubb/Forum54/HTML/029348.shtml#000001------------------ - Thomas - ...
|
| In das Form Rund um AutoCAD wechseln |
|
AutoLisp : Endpunkt eines Bogens mit Lisp bestimmen
CADmium am 31.05.2004 um 22:00 Uhr (0)
Wie wäre es mit folgendem für ein Kurvenobjekt (vl-load-com) (vlax-curve-getEndPoint(vlax-ename- vla-object (entlast))) oder mit diesem für einen Bogen im Speziellen ? (vlax-safearray- list (vlax-variant-value (vlax-get-property (vlax-ename- vla-object (entlast)) Endpoint) ) ) Mittelpunkt wäre das : (vlax-safearray- list (vlax-variant-value (vlax-get-property (vlax-ename- vla-object (entlast)) Center) ) ) ------------------ - Thomas -
|
| In das Form AutoLisp wechseln |
|
Lisp : Führung mit Spline als Grundeinstellung
CADmium am 14.11.2006 um 20:15 Uhr (0)
das Objekt "Leader" ist vom Aufbau ähnlich einer LW-Polylinie, IMHO auch davon abgeleitet .. also nix mit Spline!!!Was Autodesk -nicht du per Lisp !!! - beim Spline und auch 2D-Polylinienobjekt , welche ja ihre Stützpunkte in extra "VERTEX"-Objekten speichern , erweitern könnte , wäre eine Art "Punktstil", der die Darstellung des Stützpunktes ( und des nächsten Segmentes) steuert .. z.B. als Pfeil .. oder nächstes Segment unsichtbar usw. .. Solche Erweiterung sollte auch relativ kompatibel zu Vorgängervers ...
|
| In das Form Lisp wechseln |
|
Rund um Autocad : Voreinstellungen
CADmium am 04.11.2004 um 07:56 Uhr (0)
mit Lisp: (vl-load-com) (vla-put-saveastype (vla-get-opensave(vla-get-preferences(vlax-get-acad-object))) ;acR12_DXF ; AutoCAD Release12/LT2 DXF (*.dxf) ;ac2000_dwg ; AutoCAD 2000 DWG (*.dwg) ac2000_dxf ; AutoCAD 2000 DXF (*.dxf) ;ac2000_Template; AutoCAD 2000 Drawing Template File (*.dwt) ;ac2004_dwg ; AutoCAD 2004 DWG (*.dwg) ;ac2004_dxf ; AutoCAD 2004 DXF (*.dxf) ;ac2004_Template; AutoCAD 2004 Drawing Template File (*.dwt) ) den entsprechenden Typ nicht auskommen ...
|
| In das Form Rund um Autocad wechseln |
|
AutoLisp : Umschalten zwischen geöffneten Zeichnungen
CADmium am 02.08.2004 um 09:45 Uhr (0)
(vl-load-com) (defun DOCUMENT-ACTIVATE (DOCUMENT / FOUND) (vlax-for ITEM (vla-get-documents (vlax-get-acad-object) ) (if (and(not FOUND) (=(strcase(vla-get-name ITEM))(strcase DOCUMENT)) ) (setq DOCUMENT ITEM FOUND T ) ) ) (if FOUND (vla-activate DOCUMENT)) ) Aufruf dann mit (document-activate Zeichnung1.dwg ) Zu bedenken ist allerdings, das das Lisp normalerweise in eine Zeichnung geladen wird, und ...
|
| In das Form AutoLisp wechseln |
|
Rund um AutoCAD : Befehlsbezug innerhalb einer lisp
CADmium am 22.02.2011 um 15:44 Uhr (0)
Aua .... (defun SWITCHLAY(LAYLIST ON?) (mapcar (lambda(X / Y GC62) (if(and(=(type X)STR)(setq Y(tblobjname "LAYER" X)) (setq Y(entget Y))(setq GC62(cdr(assoc 62 Y))) ) (entmod(subst(cons 62 (*(abs GC62)(if ON? 1 -1)))(assoc 62 Y)Y)) ) ) LAYLIST ))(defun C:MYLAYOFF() (SWITCHLAY ("HL___BEM_BRUTTO""HL___BEM_MAU" "HL___BEM_FENS" "HL___BEM_NETTO") nil))(defun C:MYLAYON() (SWITCHLAY ("HL___BEM_BRUTTO""HL___BEM_MAU" "HL___BEM_FENS" "HL___BEM_NETTO") T))------------------ - Thomas - ...
|
| In das Form Rund um AutoCAD wechseln |
|
AutoCAD LT : BEMORDINATE, Textposition horizontal
CADmium am 23.12.2009 um 14:26 Uhr (0)
bei einer Koordinatenbemaßung hast du die Option "Text linksbündig" nicht.. du kannst aber Textposition Y entsprechend anpassen .... ( wie du das mit dem händischen Aurichten schon getan hast) z.B. im eigenschaftsfenster.... und sicherlich läßt sich das auch in Abhängigkeit von der Textbreite mit Lisp o.ä. automatisieren. Was fertiges wüßt ich jetzt aber nicht.eine weitere Möglichkeit wäre die Auflösung der Bemaßung wobei u.a. ein Mtext entsteht, den du ausrichten kannst..und 3. vielleicht die direkte Beei ...
|
| In das Form AutoCAD LT wechseln |
|
AutoLisp : Alles auswählen ausser... mit Lisp
CADmium am 11.01.2006 um 14:28 Uhr (0)
nochmal als Ergänzung:(SSGET "X" ((0 . "CIRCLE") (-4 . "!=") (8 . "AM_0")))wählt alle Kreise, die nicht auf dem Layer AM_0 gezeichnet wurden(SSGET "X" ((0 . "CIRCLE") (8 . "AM_0")))wählt alle Kreise, die auf dem Layer AM_0 gezeichnet wurden.. somit kann man mit ssget fast alles Erschlagen. Für Elemente in Blöcken ect. funktioniert das allerdings 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 AutoLisp wechseln |