| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Bemaßung an BKS ausrichten (808 mal gelesen)
|
uwe.k Mitglied
Beiträge: 4 Registriert: 24.06.2008
|
erstellt am: 24. Jun. 2008 18:52 <-- editieren / zitieren --> Unities abgeben:
Hallo, unser Gebäude ist in WKS gezeichnet und steht irgendwie diagonal in der gegend. wenn ich je nach gebäudeteil das jeweilge bks akitv schalte werden die maßlinientexte nicht am bks ausgerichtet. jemand eine idee? gruß uwe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5881 Registriert: 09.11.2001 Acad Architecture 2023 WIN 10
|
erstellt am: 24. Jun. 2008 20:30 <-- editieren / zitieren --> Unities abgeben: Nur für uwe.k
|
uwe.k Mitglied
Beiträge: 4 Registriert: 24.06.2008
|
erstellt am: 24. Jun. 2008 20:48 <-- editieren / zitieren --> Unities abgeben:
|
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 25. Jun. 2008 07:24 <-- editieren / zitieren --> Unities abgeben: Nur für uwe.k
Leider merkt sich die Bemassung das aktuelle BKS und so kanns sein das die Texte verkehrt stehen. Ich hab leider nicht was das aktuelle BKS auf die Bemassung anwendet aber hier was das die Texte spiegelt. Code: (defun C:bem_mirror (/ ;;local symbols ename ent gripset i flag j oldeko olderr ss ;;local functions ++ *lerror* ) ;;local error handler (defun *lerror* (msg) (if (member msg '("console break" "Function cancelled")) (princ) (princ (strcat "\nError " (itoa (getvar "ERRNO")) ": " msg)) ) ;if ;;restore old error handler (setq *error* olderr olderr nil ) (princ) ) ;*lerror* ;; ++ Increment counter &a . ;;;call: (++ 'a) <<--note the quote! (defun ++ (&a) (set &a (1+ (eval &a))) ) ;end of ++ ;;support for noun-verb selection ;;save a selection set of any gripped objects (setq gripset (cadr (ssgetfirst))) ;;start an UNDO group, which cancels grips (command "._UNDO" "_GROUP") ;;install local *error* function (setq olderr *error* *error* *lerror* ) ;;if gripset exists (if gripset ;;step through gripset and modify any DIMENSION entities found (progn (setq i 0 j 0 ss (ssadd) ) (while (< i (sslength gripset)) (setq ename (ssname gripset i)) (if (= "DIMENSION" (cdr (assoc 0 (setq ent (entget ename))))) (progn (entmod (subst (cons 51 (- (cdr (assoc 51 ent)) PI)) (assoc 51 ent) ent ) ) (++ 'j) ) ;progn ) ;if (++ 'i) ) ;while (princ (strcat "\nMaßzahl bei " (itoa j) " Bemaßungen.") ) ;;nil ss & set flag to set up for the case of null gripset (setq ss nil flag T ) ) ;progn ;;otherwise prompt user to select DIMENSIONS to change (progn (prompt "\nBemaßung(en) für den Spiegelvorgang auswählen: " ) (setq ss (ssget '((0 . "DIMENSION")))) ) ; ) ;if ;;process all entities in the resulting selection set (if ss (progn (setq i 0) (while (< i (sslength ss)) (setq ent (entget (ssname ss i))) (entmod (subst (cons 51 (- (cdr (assoc 51 ent)) PI)) (assoc 51 ent) ent ) ) (++ 'i) ) ;while (princ (strcat "\nMaßzahl gespiegelt bei " (itoa (sslength ss)) " Bemaßungen." ) ) ) ;progn (if (null flag) (princ "\nKeine gültige Bemaßung ausgewählt!") ) ) ;if ;;restore previous error function (setq *error* olderr) ;;switch off CMDECHO while ending the UNDO group (setq oldeko (getvar "CMDECHO")) (setvar "CMDECHO" 0) (command "._UNDO" "_END") (setvar "CMDECHO" oldeko) ;restore old CMDECHO value (princ) ;quiet exit )
------------------ "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. <----- Bitte Systeminfo eintragen, warum siehst du hier. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
uwe.k Mitglied
Beiträge: 4 Registriert: 24.06.2008
|
erstellt am: 25. Jun. 2008 14:48 <-- editieren / zitieren --> Unities abgeben:
|