BIGAL 发表于 2022-7-5 17:22:55

自动将文本旋转到任何UCS

我们从我们的地理信息系统导入街道地图,包括名称和街道编号。我们经常使用UCS,使街道在图纸上显示为水平,唯一的问题是街道编号仍然处于真实世界坐标的角度。
 
我搜索了一个自动旋转文本查看等,但没有找到任何合适的,找到了一些东西,但它不是百分之百的会议任务。如果有人有什么事,请告诉我。
 
无论如何,作为一种解决方法,如果你有CIV3D,你可以做得相当简单,将文本导出到csv文件,并将其读回,因为CIV3D点应用了一种标签样式,显示描述(原始文本),设置了“面向视图”,文本将始终水平显示。
 

; converts text to xyz with text description
;
; by Alan H July 2016

(defun stnumlable ( / ss x y)
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)
(alert "Make sure you have only the correct text layer on\n \nPress Esc now if you need to exit")
(setq ss (ssget))
(setq y (sslength ss))
(alert (strcat "You have picked " (rtos y 2 0 ) " St Numbers"))
(setq x (- (getint "Enter start point number") 1)) ;subtract 1 then add on in while
(setq fo (open "c:\\acadtemp\\Stnames.xyz" "W"))
(repeat (sslength ss)
(setq en (entget (ssname ss (setq y (- y 1)))))
   ; Entity type
   (setq entyp (cdr (assoc 0 en)))
   (if (= entyp "TEXT")
   (progn
   (setq xyz (cdr (assoc 10 en)))
   (setq txtstr (cdr (assoc 1 en)))
   (WRITE-LINE (STRCAT (RTOS (setq X (+ x 1)) 2 0) "," (RTOS (car xyz) 2 2) "," (RTOS (cadr xyz) 2 2) "," "0.0" "," txtstr) fo)
   )                        
   )                              
   
;end while
)
(close fo)
(alert "All done")
(setvar "osmode" oldsnap)
) ; defun
(princ )
(stnumlable)

abra-CAD-abra 发表于 2022-7-5 17:29:47

比加尔,
 
我使用alanjt的以下内容:
 
http://www.cadtutor.net/forum/showthread.php?41290-零旋转。lsp将对象旋转设置为零-(基于当前UCS)
 
您可以修改它以满足您的特定要求。
 
干杯

BIGAL 发表于 2022-7-5 17:34:55

关闭abr CAD abra它将文本设置为当前ucs,但我有两个布局,它们的方向间隔为90度,因此ucs1文本正确,ucs2在90度,这是我的问题。

abra-CAD-abra 发表于 2022-7-5 17:36:29

如果我理解正确,另一种方法是:
 
使用“将方向与布局匹配”的属性块(注释性):
 
用命名的属性块替换所有街道名称文字实体。属性值将是每个街道名称的文本字符串。
 
删除原始文本字符串。
 
代码如下:
http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/lisp-routine-to-substitute-text-to-blocks-at-point-location/td-p/3585322

BIGAL 发表于 2022-7-5 17:44:14

这听起来像是我想要的“比赛方向”将有一个发挥。添加块没有问题。

iconeo 发表于 2022-7-5 17:47:00

对于块,文本需要具有注释性。注释性样式不需要与布局匹配。文字属性应为注释性“是”,并带有“匹配方向是”。
 
我想这就是你想要的。。。
 
图纸3.dwg

Dadgad 发表于 2022-7-5 17:49:12

嗨,比格尔,毫无疑问你已经知道李的http://www.lee-mac.com/2dprojection.html
哪个是肖特的?
 
我从来没有用过这个,很可能是你想要的。
 
谢谢李和肖特!

BIGAL 发表于 2022-7-5 17:55:07

Iconeo谢谢,这正是我想要的,与多个ucs一起工作,文本是水平的。我会好好看看它,然后发布我问题的解决方案。
 
Dadgad也谢谢你。

BIGAL 发表于 2022-7-5 17:58:21

我的希望破灭了,我仍在继续,我在块中只需要一个属性“st name”,没有线条,没有额外的东西,但属性文本必须显示水平,无论我使用什么UCS。如果我们需要一条线作为参考,那么把它放在defpoints上。

srini 发表于 2022-7-5 18:05:23

请。发布dwg。在cad中,更容易理解使用块在cad中要做什么。最好将其保存到cad 2010并发布。
页: [1] 2
查看完整版本: 自动将文本旋转到任何UCS