gruzin Opublikowano 6 Października 2013 Zgłoś Udostępnij Opublikowano 6 Października 2013 W Zwcadzie+ 2014 polecenie "style" nie ustawia czcionki Arial (innych TTF chyba też nie). W wersji 2012+ działa poprawnie. (command "_-style" "ARIALnazwa" "Arial" "" "0.8" "" "" "") pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 7 Października 2013 Zgłoś Udostępnij Opublikowano 7 Października 2013 Witam Dziękuje za zgłoszenie. Przekażę to do ZWSOFT. Postaram się opracować podobną funkcjonalność z wykorzystaniem modelu obiektowego ZWCADa. Pozdrawiam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gruzin Opublikowano 7 Października 2013 Autor Zgłoś Udostępnij Opublikowano 7 Października 2013 obiektowo mam zrobiona funkcje do tego ale z koleii nie działa ona poprawnie dla czcionek TTF z Zwcadzie 2012 i niżej ;========================================================================= (defun mh:ACX_MAKE_TextStyle ( STname STfont STheight STwidth STObliqueAngle mode / mh_textstyles newtextstyle) ;tworzy nowy styl textu ;========================================================================= ; mh:ACX_MAKE_TextStyle - tworzy nowy styl textu i zwraca jako VLA-object ;========================================================================= ; (mh:ACX_MAKE_TextStyle "IS_SIMPLEX" "simplex.shx" nil 0.7 nil T) - ok ; (mh:ACX_MAKE_TextStyle "IS_Arial" (strcat (getenv "WINDIR") "\\fonts\\" "Arial.ttf") nil 0.8 nil T) - ok AC, zw DZIWNA CZCIONKA ALE ARIAL, GS przyjmuje ale czcionka to nie arial ;========================================================================= ; STname [string] - nazwa stylu tekstu ; STfont [string] - czcionka stylu tekstu ; STheight [integer / nil] - wysokośc czcionki w stylu tekstu ; STwidth [real / nil] - szerokosc stylu tekstu ; STObliqueAngle [° / nil] - kąt obrotu czcionki w stylu tekstu ; mode [T / nil] - ustawia/NieUstawia stylu jako aktualny ;========================================================================= (setq mh_textstyles (vla-get-textstyles (mh:ACX_ActivDocument))) (if (null (tblsearch "Style" STname)) (progn (setq newtextstyle (vla-add mh_textstyles STname)) (vla-put-fontfile newtextstyle STfont);;;;;;;;;;;;;;;;;;;;;;;; (if STheight (vla-put-Height newtextstyle STheight) ) (if STwidth (vla-put-width newtextstyle STwidth) ) (if STObliqueAngle (vla-put-ObliqueAngle newtextstyle (mh:CON_deg2rad STObliqueAngle nil)) ) (if mode (vla-put-activetextstyle (mh:ACX_ActivDocument) newtextstyle) ) );progn (progn (setq newtextstyle (vla-item mh_textstyles STname)) (if mode (vla-put-activetextstyle (mh:ACX_ActivDocument) newtextstyle) ) ) );if newtextstyle ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 7 Października 2013 Zgłoś Udostępnij Opublikowano 7 Października 2013 Ja to zrobiłem trochę inaczej: (vl-load-com) (defun SetFont (NazwaStylu NazwaCzcionki / Styl) ;---------------------------------------------------------- ; funkcja ustawia czcionkę dla wybranego stylu tekstu ; Argumenty: NazwaStylu i NazwaCzcionki jaka ma być nadana. Oba parametry jako String ; Wynik: Objekt wybrany Styl tekstu ;---------------------------------------------------------- ; (SetFont "Standard" "Times New Roman") (setq *StyleTekstu* (vla-get-textstyles (vla-get-activedocument (vlax-get-acad-object) ) )) (setq Styl (vla-item *StyleTekstu* NazwaStylu)) (vlax-invoke-method Styl 'SetFont NazwaCzcionki :vlax-false :vlax-false 1 1 ) Styl ) Sprawdziłem na 2012, 2012+ i 2014+ i działa na wszystkich tych wersjach. Dla stabilności działania należałoby jeszcze sprawdzić czy istnieje styl tekstu podany jako parametr, ale to już inna sprawa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gruzin Opublikowano 7 Października 2013 Autor Zgłoś Udostępnij Opublikowano 7 Października 2013 Coś mi się jeszcze krzaczy, ale prawie działa. Do czego służą dokładnie te dwie jedynki na końcu i :vlax-false oba ? (vlax-invoke-method Styl 'SetFont NazwaCzcionki :vlax-false :vlax-false 1 1 ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kruszynski Opublikowano 7 Października 2013 Zgłoś Udostępnij Opublikowano 7 Października 2013 Pierwszy parametr określa czy czcionka ma być pogrubiona Drugi czy ma być pochylona Trzeci to standard kodowania czyli to co wyświetla się w oknie stylów tekstu jako Język. W samej czcionce można wyszczególnić jakie standardy są przez nią obsługiwane. Ostatni parametr "określa rozmiar i grupę czcionki". Mogę się mylić, ale podejrzewam, że chodzi tu np o to czy znaki w czcionce mają mieć stałą czy zmienną szerokość być może inne parametry również można tu określać, ale nie udało mi się jeszcze odnaleźć bardziej szczegółowego ich opisu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi