| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Wer hilf mir ? (475 mal gelesen)
|
gcat Mitglied Bau-Ing.
Beiträge: 31 Registriert: 05.08.2003
|
erstellt am: 05. Aug. 2003 15:24 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute ! Dieses Lisp übernimmt die Eigenschaften eines angeklickten Objektes. Es fehlt aber nur noch Plotstil. Wer kann das ergänzen ? wäre ganz dankbar ! (defun C:ANPASS (/ olderr ocmd L L1 L2 L3 F LF a) (princ) (setq a nil) (setq olderr *error* *error* dellerr) (setq ocmd (getvar "CMDECHO")) (setvar "CMDECHO" 0) ;;;;-------------------------------------------------------- (setq L (entsel "<<Waehlen Sie bitte ein Element>> :")) ;------------------LAYER----------------------------------- (setq L1 (assoc 8 (entget (car L)))) (setq L1 (cdr L1)) (princ) (command "layer" "setzen" L1 "") ; ;;-----------------FARBE------------------------------------- (setq F (assoc 62 (entget (car L)))) (setq F (cdr F)) (if (not F) (setq F "VONLAYER")) (if (/= F "nil") (progn (if (= F 0) (setq F "VONBLOCK")) ) ) (COMMAND "FARBE" F) ;;;-----------------LINIENTYP------------------------------ (setq L2 (assoc 6 (entget (car L)))) (setq L2 (cdr L2)) (if (not L2) (setq L2 "Vonlayer")) (command "linientyp" "setzen" L2 "") ; (setq a (tblsearch "layer" L1))) (princ) ;;; (if a (progn (setq L2(cdr (assoc 6 a ))) (command "linientyp" "setzen" L2 "") ) ) ;-------------------Liniendicke-------------------------- (setq L3 (assoc 370 (entget (car L)))) (setq L3 (cdr L3)) (if (not L3) (setq L3 "-1")) (command "setvar" "celweight" L3 ) ; ;Aktuelles Linienfaktor-------------------------------- (setq LF (assoc 48 (entget (car L)))) (setq LF (cdr LF)) (if (not LF) (setq LF "1")) (command "setvar" "celtscale" LF ) ;ende Linienfaktor----------------------------------- ; ; (setq L nil) (setq F nil) (setq a nil) (setq L1 nil) (setvar "CMDECHO" ocmd) (setq *error* olderr) (princ) ) ;;; --------------------------------------------------------------------------; Gruss RA
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Rausch Mitglied
Beiträge: 1199 Registriert: 26.03.2001 Intel P4 2,6 GHz 512 MB RAM NVIDIA GeForce FX 5200 . WinXP prof. Autodesk Map 2004 SP 1 WS-Landcad 2004 . Tetris
|
erstellt am: 05. Aug. 2003 15:29 <-- editieren / zitieren --> Unities abgeben: Nur für gcat
|
marvin101010 Mitglied ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)
Beiträge: 562 Registriert: 22.01.2003 Pentium 4 Windows XP Autocad 2006 Autocad 2006LT + Extender ADT 2007 ArchiCAD
|
erstellt am: 05. Aug. 2003 15:35 <-- editieren / zitieren --> Unities abgeben: Nur für gcat
was er damit sagen will, ist, dass die frage eigentlich ins LISP-forum gehört... damit hat er ja eigentlich auch recht! trotzdem...ich versteh nicht wirklich was du willst...kann aber durchaus auch an mir liegen. ich arbeite entweder mit layerabhängigen- oder mit farbabhängigen plotstilen. beides hast du im prinzip abgedeckt... also wozu??? ------------------ .......good vibrations make the world go round Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gcat Mitglied Bau-Ing.
Beiträge: 31 Registriert: 05.08.2003
|
erstellt am: 05. Aug. 2003 15:46 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 05. Aug. 2003 16:47 <-- editieren / zitieren --> Unities abgeben: Nur für gcat
|
gcat Mitglied Bau-Ing.
Beiträge: 31 Registriert: 05.08.2003
|
erstellt am: 05. Aug. 2003 17:06 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 05. Aug. 2003 17:13 <-- editieren / zitieren --> Unities abgeben: Nur für gcat
also ich wiederhole die Antwort von Marvin die sich darauf bezog. --> was er damit sagen will, ist, dass die frage eigentlich ins LISP-forum gehört... damit hat er ja eigentlich auch recht! aber naja, nun ist es eben doch hier. ------------------ Gruß Sebastian Der Feind des Guten ist das Bessere. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pan Mitglied
Beiträge: 141 Registriert: 18.01.2003 HP Z200 Win 7 prof ADT 2012
|
erstellt am: 05. Aug. 2003 17:46 <-- editieren / zitieren --> Unities abgeben: Nur für gcat
|
TK_KE Mitglied
Beiträge: 67 Registriert: 15.07.2003 .
|
erstellt am: 05. Aug. 2003 18:16 <-- editieren / zitieren --> Unities abgeben: Nur für gcat
|
T. Bürger Mitglied Technischer Angestellter
Beiträge: 201 Registriert: 30.01.2001 AcadCAD MEP 2008 (D A CH)
|
erstellt am: 05. Aug. 2003 19:09 <-- editieren / zitieren --> Unities abgeben: Nur für gcat
@TK_KE, Das was Du meinst ist die "Plotstiltabelle" und die wird im jeweiligen Layout gespeichert. Hallo gcat, ich nehme an Du meinst den Plotstil dem ein Objekt zugewiesen werden kann. Dieses wird soweit ich das herausfinden konnte in diesen Gruppencodes gespeichert: (Online-Hilfe) 380–389 Zähler des Typs PlotStyleName (AcDb::PlotStyleNameType). Wird als 16-Bit-Ganzzahl gespeichert und verschoben. Benutzerspezifische Objekte (außer Elemente) können den gesamten Wertebereich für die Darstellung nutzen, Elementklassen dagegen lediglich die DXF-Gruppencodes 381 bis 389 (Begründung siehe Lineweight). 390–399 Zeichenfolge für den Referenzwert des PlotStyleName-Objekts. Hard-Zeiger, der einen abweichenden Wertebereich aufweist, so daß die Abwärtskompatibilität erleichtert wird. Wird als Objekt-ID (Referenz in DXF-Dateien) sowie als spezieller Typ in AutoLISP gespeichert und verschoben. Benutzerspezifische Objekte (außer Elemente) können den gesamten Wertebereich für die Darstellung nutzen, Elementklassen dagegen lediglich die DXF-Gruppencodes 391 bis 399 (Begründung siehe Lineweight). Vielleicht kommst Du ja damit weiter, habe leider im Moment kein Zeit (Abgabetermin)
------------------ Grüße T. Bürger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 05. Aug. 2003 23:19 <-- editieren / zitieren --> Unities abgeben: Nur für gcat
Hier aufgezeigt um an die Info zu kommen: Objekt wählen: ((-1 . <Objektname: 4006bda8> ) (0 . "LWPOLYLINE") (330 . <Objektname: 4006bcf8> ) (5 . "35") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (390 . <Objektname: 4006bda0> ) (100 . "AcDbPolyline") (90 . 3) (70 . 1) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 41.0345 27.7161) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 82.4966 69.1783) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 123.959 27.7161) (40 . 0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0)) Befehl: (setq q2 (entget(cdr(assoc 390 q1)))) ((-1 . <Objektname: 4006bda0> ) (0 . "ACDBPLACEHOLDER") (5 . "34") (102 . "{ACAD_REACTORS") (330 . <Objektname: 4006bc70> ) (102 . "}") (330 . <Objektname: 4006bc70> )) Befehl: (setq q3 (entget(cdr(assoc 330 q2)))) ((-1 . <Objektname: 4006bc70> ) (0 . "ACDBDICTIONARYWDFLT") (5 . "E") (102 . "{ACAD_REACTORS") (330 . <Objektname: 4006bc60> ) (102 . "}") (330 . <Objektname: 4006bc60> ) (100 . "AcDbDictionary") (280 . 0) (281 . 1) (3 . "Normal") (350 . <Objektname: 4006bc78> ) (3 . "Stil 1") (350 . <Objektname: 4006bda0> ) (3 . "Stil 2") (350 . <Objektname: 4006bd60> ) (3 . "Stil 3") (350 . <Objektname: 4006bd90> ) (100 . "AcDbDictionaryWithDefault") (340 . <Objektname: 4006bc78> )) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Wie du siehst sind im letzten Objekt ((0 . "ACDBDICTIONARYWDFLT")) die Plotstile enthalten, in dieser liste mußt du den Objektnamen des ((0 . "ACDBPLACEHOLDER")) suchen, der GC 3 Eintrag davor ist der des Objektes ((0 . "LWPOLYLINE")). mit diesen Schritten kommst du hin, wie es aussieht wenn man´s schön macht, zeigst dafür (bitte) du ;;; SUB zum übertragen des Objekt-Plotstiles ;;; (defun take_plstyle ( entity_list / x1 x2 x3 ) ;erwartet Entityliste (setq x1 (entget(cdr(assoc 390 entity_list))) x2 (cons 350 (cdr(assoc -1 x1))) x3 (cadr(member x2 (reverse(entget(cdr(assoc 330 x1))))))) (setvar "cplotstyle" (cdr x3)) );defun ------------------ Gruß Sebastian Der Feind des Guten ist das Bessere. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gcat Mitglied Bau-Ing.
Beiträge: 31 Registriert: 05.08.2003
|
erstellt am: 06. Aug. 2003 08:20 <-- editieren / zitieren --> Unities abgeben:
|