乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 68|回复: 14

[编程交流] 自动将文本旋转到任何UCS

[复制链接]

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:22:55 | 显示全部楼层 |阅读模式
我们从我们的地理信息系统导入街道地图,包括名称和街道编号。我们经常使用UCS,使街道在图纸上显示为水平,唯一的问题是街道编号仍然处于真实世界坐标的角度。
 
我搜索了一个自动旋转文本查看等,但没有找到任何合适的,找到了一些东西,但它不是百分之百的会议任务。如果有人有什么事,请告诉我。
 
无论如何,作为一种解决方法,如果你有CIV3D,你可以做得相当简单,将文本导出到csv文件,并将其读回,因为CIV3D点应用了一种标签样式,显示描述(原始文本),设置了“面向视图”,文本将始终水平显示。
 
  1. ; converts text to xyz with text description
  2. ;
  3. ; by Alan H July 2016
  4. (defun stnumlable ( / ss x y)
  5. (setq oldsnap (getvar "osmode"))
  6. (setvar "osmode" 0)
  7. (alert "Make sure you have only the correct text layer on\n \nPress Esc now if you need to exit")
  8. (setq ss (ssget))
  9. (setq y (sslength ss))
  10. (alert (strcat "You have picked " (rtos y 2 0 ) " St Numbers"))
  11. (setq x (- (getint "Enter start point number") 1)) ;subtract 1 then add on in while
  12. (setq fo (open "c:\\acadtemp\\Stnames.xyz" "W"))
  13. (repeat (sslength ss)
  14. (setq en (entget (ssname ss (setq y (- y 1)))))
  15.    ; Entity type
  16.    (setq entyp (cdr (assoc 0 en)))
  17.    (if (= entyp "TEXT")
  18.    (progn
  19.    (setq xyz (cdr (assoc 10 en)))
  20.    (setq txtstr (cdr (assoc 1 en)))
  21.    (WRITE-LINE (STRCAT (RTOS (setq X (+ x 1)) 2 0) "," (RTOS (car xyz) 2 2) "," (RTOS (cadr xyz) 2 2) "," "0.0" "," txtstr) fo)
  22.    )                        
  23.    )                              
  24.    
  25. ;end while
  26. )
  27. (close fo)
  28. (alert "All done")
  29. (setvar "osmode" oldsnap)
  30. ) ; defun
  31. (princ )
  32. (stnumlable)
回复

使用道具 举报

28

主题

118

帖子

95

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2022-7-5 17:29:47 | 显示全部楼层
比加尔,
 
我使用alanjt的以下内容:
 
http://www.cadtutor.net/forum/showthread.php?41290-零旋转。lsp将对象旋转设置为零-(基于当前UCS)
 
您可以修改它以满足您的特定要求。
 
干杯
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:34:55 | 显示全部楼层
关闭abr CAD abra它将文本设置为当前ucs,但我有两个布局,它们的方向间隔为90度,因此ucs1文本正确,ucs2在90度,这是我的问题。
回复

使用道具 举报

28

主题

118

帖子

95

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 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
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:44:14 | 显示全部楼层
这听起来像是我想要的“比赛方向”将有一个发挥。添加块没有问题。
回复

使用道具 举报

12

主题

152

帖子

140

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-5 17:47:00 | 显示全部楼层
对于块,文本需要具有注释性。注释性样式不需要与布局匹配。文字属性应为注释性“是”,并带有“匹配方向是”。
 
我想这就是你想要的。。。
 
图纸3.dwg
回复

使用道具 举报

5

主题

1074

帖子

1088

银币

初来乍到

Rank: 1

铜币
9
发表于 2022-7-5 17:49:12 | 显示全部楼层
嗨,比格尔,毫无疑问你已经知道李的http://www.lee-mac.com/2dprojection.html
哪个是肖特的?
 
我从来没有用过这个,很可能是你想要的。
 
谢谢李和肖特!
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:55:07 | 显示全部楼层
Iconeo谢谢,这正是我想要的,与多个ucs一起工作,文本是水平的。我会好好看看它,然后发布我问题的解决方案。
 
Dadgad也谢谢你。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:58:21 | 显示全部楼层
我的希望破灭了,我仍在继续,我在块中只需要一个属性“st name”,没有线条,没有额外的东西,但属性文本必须显示水平,无论我使用什么UCS。如果我们需要一条线作为参考,那么把它放在defpoints上。
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 18:05:23 | 显示全部楼层
请。发布dwg。在cad中,更容易理解使用块在cad中要做什么。最好将其保存到cad 2010并发布。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 04:54 , Processed in 0.383630 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表