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

Mara821
10.12.2017, 20:41
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

Mara821
11.12.2017, 20:55
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