| |
 | TRICAD MS Piping 3D - Effizient Apparate- und Rohrleitungsmodelle planen , eine App
|
Autor
|
Thema: Maßenden ändern (763 mal gelesen)
|
Random Mitglied
 Beiträge: 8 Registriert: 11.09.2003 Soficad 16.4
|
erstellt am: 19. Jun. 2006 21:29 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich hätte mal wieder eine Frage. Und zwar passen mir die Soficad-Maßenden manchmal nicht. Kann ich die ändern und zwar nicht für alle? Manchmal zeigen sie in die falsche Richtung oder sind einfach zu kurz. [Diese Nachricht wurde von Random am 19. Jun. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Moderator
       

 Beiträge: 3338 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 20. Jun. 2006 11:59 <-- editieren / zitieren --> Unities abgeben:          Nur für Random
Hi, klar kann man die ändern. Einfach über die Eigenschaften einen anderen (vielleicht einen eigenen?) Maßendblock wählen. Wenn man die Acad-Standard-Endblöcke verwenden will, muss man allerdings noch ein paar weitere Einstellungen vornehmen: Hilfslinien einschalten, Größe der Endblöcke ändern und Verlängerungen von Maßlinien und Maßhilfslinien ändern. Ich habe mal ein kleines Tool gebastelt, das sowas macht. Musst nur die von dir gewünschten Einstellungen oben am Anfang des Codes vornehmen - wahrscheinlich passen die Größen nicht so ganz: Code:
;| ToggleSofDims oder TSDschaltet bei der gewählten Bemaßung die SOFiCAD- oder AutoCAD-Maßhilflinien um www.CADmaro.de |; (defun c:ToggleSofDims (/ newprops dim) ;; Zu toggelnde Eigenschaften für Bemaßungsenden festlegen (setq newprops '((Arrowhead1Block . "_Oblique") ; Maßendblock1 (Arrowhead2Block . "_Oblique") ; Maßendblock2 (ArrowheadSize . 0.0125) ; Maßendblockgröße (DimensionLineExtend . 0.0125) ; Maßlinienüberstand (ExtensionLineExtend . 0.0125) ; Maßhilfslinienüberstand ) ) (while (and (setq dim (entsel)) (wcmatch (strcase (vlax-get-property (setq dim (vlax-ename->vla-object (car dim))) 'ObjectName ) ) "*DIMENSION" ) ) (if *props* (mapcar '(lambda (arg) (if (= (vlax-get-property dim 'ObjectID) (car arg)) (setq newprops (cdr arg) *props* (mx:RemoveElementFromList *props* arg) ) ) ) *props* ) ) (setq *props* (cons (cons (vlax-get-property dim 'ObjectID) (mx:GetSetProperties newprops dim ) ) *props* ) ) (vlax-put-property dim 'ExtLine1Suppress (if (= 20 (vlax-get-property dim 'Arrowhead1Type)) :vlax-true :vlax-false ) ) (vlax-put-property dim 'ExtLine2Suppress (if (= 20 (vlax-get-property dim 'Arrowhead2Type)) :vlax-true :vlax-false ) ) ) ) ;| mx:GetSetProperties Eigenschaften setzen und die vorherigen Eigenschaften zurückgeben. angepasst für Maßendblock-Bezeichnungen. |; (defun mx:GetSetProperties (props obj / oldprops) (mapcar '(lambda (arg) (setq oldprops (cons (cons (car arg) (vlax-get-property obj (vl-princ-to-string (car arg))) ) oldprops ) ) (vlax-put-property obj (vl-princ-to-string (car arg)) ;; Unterstrich an Endmarkierung pappen :dream (if (and (= 'STR (type (cdr arg))) (/= "_" (substr (cdr arg) 1 1)) (/= "SOF" (substr (cdr arg) 1 3)) ) (strcat "_" (cdr arg)) (cdr arg) ) ) ) props ) oldprops ) ;| mx:RemoveElementFromList Element aus Liste entfernen |; (defun mx:RemoveElementFromList (lst el) (append (reverse (cdr (member el (reverse lst)))) (cdr (member el lst)) ) ) (defun c:TSD () (c:ToggleSofDims) (princ)) (princ "\nToggleSOFDims.lsp geladen zum Starten \"TSD\" eingeben.") (princ)
Wie man mit LISP-Code umgeht hat der User FAQ hier beschrieben. [Edit 21-06-06: Code upgedatet] Gruß CADChup ------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Random Mitglied
 Beiträge: 8 Registriert: 11.09.2003 Soficad 16.4
|
erstellt am: 20. Jun. 2006 21:13 <-- editieren / zitieren --> Unities abgeben:         
|
CADchup Moderator
       

 Beiträge: 3338 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 21. Jun. 2006 10:15 <-- editieren / zitieren --> Unities abgeben:          Nur für Random
Hi, ja, das wollte ich doch eigentlich noch einbauen. Habe den Code oben upgedatet. Jetzt arbeitet das Tool solange, wie du Bemaßung wählst und die Eigenschaften der gewählten Bemaßungen werden für die aktuelle Sitzung gespeichert, d.h. es wird jetzt korrekt getoggelt. Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Random Mitglied
 Beiträge: 8 Registriert: 11.09.2003 Soficad 16.4
|
erstellt am: 21. Jun. 2006 23:13 <-- editieren / zitieren --> Unities abgeben:         
|