Zobrazit plnou verzi příspěvku: písanie textu v presnej pozícií

cvirikovec
29.09.2021, 11:38
Ahojte.Potreboval by som aby mi presne na čiare v určitom staničení urobilo bod s textom.Teda, mám čiaru čo ja viem 100m, mám zoznam staničení že v 2,054 v 3,055 v 4,555 je objekt. A ja chcem aby mi nejako hromadne podľa tých staničení na čiare urobilo bod s textom objekt.(niečo podobné ako ASCPoint len nie podľa súradníc ale podľa čiary)Je niečo takéto?ďakujem 

Vladimír Michl
29.09.2021, 13:03
Buď pomocí lineárních referenčních systémů v AutoCADu Map 3D či Civil 3D nebo pomocí naší freeware utility TraceCurve - viz:https://www.cadforum.cz/cz/linearni-referencni-systemy-lrs-v-autocadu-map-3d-tip9393https://www.cadforum.cz/cz/staniceni-podel-krivky-body-v-zadanych-vzdalenostech-tip10140

cvirikovec
30.09.2021, 09:43
No ten TraceCurve práve nevie robiť naraz ale vždy musím napísať jednu hodnotu

johny
30.09.2021, 10:51
Tak zkuste toto.Vyplníte červené. Seznam staničení, jméno bloku, o/upravíte seznam atributů(vl-load-com)(defun c:StationMark ( / *error* atr atd sts blk pt pr an)    (defun *error* (errmsg)    (if (not (wcmatch errmsg "Function cancelled,quit / exit abort,console break,end"))      (princ (strcat "\nError: " errmsg)))    (if atr (setvar 'attreq atr))    (if atd (setvar 'attdia atd))    (princ))      (setq sts '(                        ;; add list of stations, one station per line       200.1       300       400       ) blk "StationMark"   ;; change block name if needed )    (setq atr (getvar 'attreq)) (setvar 'attreq 1)  (setq atd (getvar 'attdia)) (setvar 'attdia 0)    (if (and (setq pl (car (entsel "\nSelect alignment pline: ")))    (or (tblsearch "block" blk)        (prompt "Error: Block unavailable.")))    (foreach st sts      (if (and (setq pt (vlax-curve-getPointatDist pl st))        (setq pr (vlax-curve-getParamAtDist pl st))        (setq an (vlax-curve-getFirstDeriv  pl pr))        ) (command "_.-insert" blk "_s" 1 "_r" (angtos (angle '(0 0 0) an) (getvar 'aunits) 8) "_non" pt   (strcat (rtos st 2 2) " m")  ;; list of atts or use "some text" or add ";" if no-att block   ))))  (*error* "end")  )






johny2021-09-30 12:32:04

cvirikovec
30.09.2021, 11:24
Tak Johny ďakujem ti fakt veľmi pekne :)Funguje to super.