Zobrazit plnou verzi příspěvku: Multiodkaz - písmo s diakritiko
jeniksedlacek
09.12.2017, 21:14
Dobrý den,jak udělat, když v AutoCadu vkládám Multiodkaz, tak pokud je text bez diakritiky, tak se krásně udělá mezi textem a "praporkem", tedy podtržením textu mezera. Ale pokud udělám text s "háčky a čárkami", tak se text posune na čáru pod textem.Jedná se o AutoCad 2018 standardně nainstalovaný, žádné změny ve stylech a písmech.Děkuji za pomocHonza
Vladimír Michl
09.12.2017, 22:39
Zkuste ve stylu multiodkazu (nebo ve Vlastnostech) změnit zarovnání, resp. uchycení vlevo/vpravo z "Polovina horního řádku" na "Polovina dolního řádku".
jeniksedlacek
09.12.2017, 23:21
Dobrý den,děkuji za odpověď a pomoc, ale nefunguje to.Honza
Zkuste změnit řádkování (lane space style) z "nejméně" na "přesně" ve vlastnostech.
Vladimír Michl
10.12.2017, 21:39
Pan Sedláček píše, že nedělá změny stylu. Pokud je přeci jen styl změněn - na podtržení praporkem, pak opravdu pomůže změna řádkování, popř. tip http://www.cadforum.cz/cadforum/jak-zvetsit-odsazeni-textu-modkazu-od-podtrzeni-tip7187
jeniksedlacek
11.12.2017, 16:39
Dobrý den,děkuji moc, toto ((lane space style) z "nejméně" na "přesně" ve vlastnostech.) pomohlo. PS. ale jak to udělat, aby to dělalo pořád. Jistě, že si pomohu funkcí "kopírovat vlastnosti", ale jsem tvor líný,... :-)Honza
Ve stylu multiodkazu jsem tohle nastavení nenašel, tak používám tenhle lisp:(vl-load-com);;; command to load or unload reactor(defun c:mleaderLineSpace (/ def opt) (if *mleaderLineSpace* (setq def "OFF") (setq def "ON") ) (initget "ON OFF") (setq opt (cond ((getkword (strcat "\nEnter an option [ON/OFF]<" def ">"))) (def) ) ) (cond ((eq opt "ON") (MLS:start) ) ((eq opt "OFF") (MLS:stop) ) ) (princ));;; load reactor(defun MLS:start (/) (if *mleaderLineSpace* (vlr-remove *mleaderLineSpace*) ) (setq *mleaderLineSpace* (vlr-command-reactor nil '((:vlr-commandended . MLS:CommandEnded) ) ) ) (princ "\nMleaderLineSpace reactor has been loaded. "));;; unload reactor(defun MLS:stop (/) (if *mleaderLineSpace* (progn (vlr-remove *mleaderLineSpace*) (setq *mleaderLineSpace* nil) (princ "\nMleaderLineSpace reactor has been stopped.") ) ));;; when command ends(defun MLS:CommandEnded (rea cmd / doc obx) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (setq cmd (strcase (car cmd))) (cond ;; leader ((eq cmd "MLEADER") (setq obx (vlax-ename->vla-object (entlast))) (vla-put-textLineSpacingStyle obx acLineSpacingStyleExactly) (vla-put-dogLegged obx :vlax-false) ) ) );;; autoload(MLS:start)Stačí uložit jako soubor *.lsp a nahrát do aktovky. Lisp se po spuštění výkresu nahraje automaticky, vypnout lze přes příkaz "mleaderLineSpace".Upraví to ale u každého udělaného multiodkazu.Kdyžtak si smažte řádek s (vla-put-dogLegged obx :vlax-false)to upravuje "Horizontal landing" (česky ekvivalent si už nepamatuju) na "Ne", tuhle vlastnost jsem taky nenašel v nastavení stylu, tak se Vám bude možná hodit. Vypne se ta šipka na prodlužování vodorovné čáry.Edit: Teď mě ještě tak napadá, že to nemusí fungovat v české verzi. Kdyžtak zkuste ten konec nahradit tímto:;;; when command ends(defun MLS:CommandEnded (rea cmd / doc obx) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (setq cmd (strcase (car cmd))) (cond ;; leader ((eq cmd "MODKAZ") (setq obx (vlax-ename->vla-object (entlast))) (vla-put-textLineSpacingStyle obx acLineSpacingStyleExactly) (vla-put-dogLegged obx :vlax-false) ) ) );;; autoload(MLS:start)
Mara8212017-12-11 21:07:29