|
Lisp : schriftfelder via lisp (ac2005)
snp am 23.01.2013 um 09:42 Uhr (0)
Hallo,tut mir leid das ich so einen alten Beitrag aufrolle.Kann mir jemand sagen wo ich die Schriftgröße und die Ausrichtung ändern kann. Habe mir die LSP was den Text angeht an meine Bedürfnisse angepasst, leider weiß ich nicht wo ich die Größe und Ausrichtung (Mitte zentriert) ändern kann.hier die LSP:(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")))) ;_ A ...
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
Brischke am 23.01.2013 um 13:23 Uhr (0)
... du musst das erzeugte MText-Objekt merken und kannst diesem dann mit (vla-put-... ) weitere Eigenschaften setzen.Grüße!Holger------------------Holger BrischkeFREIE SCHULUNGSPLÄTZE -- C#.NET-Schulung im Mai 2013 Bei Interesse bitte melden!CAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen.defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
snp am 23.01.2013 um 14:29 Uhr (0)
Hallo,danke für die Antwort, habe aber keine Ahnung von LSP-programmieren.Ist hier jemand der mir diese LSP um die Funktion Schriftgröße, Ausrichtung erweitern kann, Bitte.Danke, Gruß
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
marc.scherer am 21.12.2004 um 13:15 Uhr (0)
Hi Jan,ja. Ist doch kein Problem. Schreibst einfach den Steuercode als Text rein...------------------Ciao,Marc
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
marc.scherer am 21.12.2004 um 13:52 Uhr (0)
Hi Jan,nein, nein. Ich glaube ich hab Dich schon verstanden.Aber Du mich?Welcher Objekttyp kommt denn raus, wenn Du mit dem Command "_Field" ein Feld erzeugst?Na?------------------Ciao,Marc
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
marc.scherer am 22.12.2004 um 09:13 Uhr (0)
Hi Jan,würde mich freuen auch mal IRGENDEIN Feedback von Dir auf meine Antworten zu bekommen.Leider neigst Du dazu Dir hier Tips abzugreifen und die helfenden KOMPLETT darüber im UNKLAREN zu lassen, ob Dein Problem gelöst wurde.Ich denke Du bist lange genug dabei um zu wissen, das dies kein guter Stil ist.------------------Ciao,Marc
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
tunnelbauer am 25.08.2009 um 10:18 Uhr (0)
http://ww3.cad.de/foren/ubb/Forum145/HTML/002059.shtml ------------------GrüsseThomasKorrekturen zum Kochbuch AutoLISP
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
Dorfy am 25.08.2009 um 10:21 Uhr (0)
Hi,was suchst du denn bzw was willst du denn genau machen?die Länge einer Linie(vla-Get-Length(vlax-ename-vla-object(car (entsel "
Objekt wählen: "))))??als field?mehrfach ausführen -- also viele Linien und somit viele Felder?diese automatisch einfügen?------------------Mfg HeikoElefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm)
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
cadplayer am 25.08.2009 um 10:57 Uhr (0)
ich versuch mir quasi in den Beschriftungsmöglichkeiten mit _field etwas zusammenzustricken, womit ich einfach eine Linie wähle und deren Eigenschaften beschrifte. Bsp Länge ausgeben funktioniert. Indem ich .length mit .layer ersetze kann ich auch den Layer assoziativ beschriften.@dorfy: super wäre, wenn das mit mehreren Linien geht. Allerdings müsste es den Text dann automatisch an die Linie setzen lassen (bsp Anfangspunkt). Ist das mit (getpoint "Select Point: ") denn möglich?(defun c:lnkfld () (setq a ...
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
marc.scherer am 25.08.2009 um 11:31 Uhr (0)
Hi cadplayer,zum Thema "Textposition für automatische Beschriftung von Linien (Polylinien, Bögen usw.)" solltest Du Dir mal unbedingt die Funktionen die mit "vlax-curve" beginnen anschauen. Da kann man ne Menge Sachen bezogen auf das "Kurven Objekt" (Linien, Polylinien, Bögen usw.) ermitteln.Beispiel:Code:(defun MITTEL-PKT? (ENAME /) (setq ENAME (-VLA-OBJECT ENAME)) (vlax-curve-getpointatdist ENAME (/ (vlax-curve-getdistatparam ENAME (vlax-curve-getendparam ENAME) ) 2.0 ) ))(defun -VLA-OBJ ...
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
marc.scherer am 25.08.2009 um 11:34 Uhr (0)
...[Diese Nachricht wurde von marc.scherer am 25. Aug. 2009 editiert.]
|
In das Form Lisp wechseln |
|
Lisp : schriftfelder via lisp (ac2005)
Dorfy am 25.08.2009 um 11:42 Uhr (0)
hi cadplayer(defun c:lnkfld (/ aws n *model-space*) (vl-load-com) ;;get a reference to model space (setq *model-space* (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)) ) ) ;(setq a (car (entsel)); b (getpoint "Select Point: ") ; ) ;(linkedlength a b) (setq aws (ssget ((0 . "LINE")))) (setq n 0) (repeat (sslength aws) (linkedlength (ssname aws n) (cdr (assoc 10 (entget (ssname aws n)))) ) (setq n (1+ n)) ));;pass this function an entity and a point(defun LinkedLength (ent pt / ...
|
In das Form Lisp wechseln |
|
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 |