乐筑天下

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

[编程交流] 旋转文本

[复制链接]

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 22:54:50 | 显示全部楼层 |阅读模式
我有一个例程,选择特定层上的所有文本,然后将文本旋转到特定角度。
 
如果我缩小了,这样我可以看到所有的绘图并运行例程,一切都很好。但是,如果我放大图形的一部分,然后运行例程,并不是所有的文本实体都会旋转。可见的和屏幕区域外的旋转。
 
以前有没有人遇到过这个问题?如果有,有没有解决方法。
 
我总是可以强制最大化,旋转文本,然后缩放上一个,但它不是很干净。
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2022-7-6 23:02:37 | 显示全部楼层
当我读到这篇文章时,我希望你使用的是旧版本的Acad。多年来发生了变化的一件事是,“L”ast对象过去是当前屏幕上可见的最后一个绘制对象。它现在是最后绘制的对象。这让我有几次被脚本吸引住了,我开始放进“最大化”和“上一个”来确保我得到了我需要的东西。
 
换句话说,我不知道其他的解决方案,我希望你也能找到我感兴趣的解决方案。
回复

使用道具 举报

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 23:14:03 | 显示全部楼层
戴夫,
 
更复杂的是,这是在使用AutoCAD 2009的机器上运行的,而不是在我使用2011的机器上运行的。我会在2011年试着运行它,然后再给你回复。
回复

使用道具 举报

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 23:20:08 | 显示全部楼层
不,2011年也一样
回复

使用道具 举报

48

主题

1073

帖子

1043

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
238
发表于 2022-7-6 23:27:16 | 显示全部楼层
2009年对我来说是新的一年
 
你能在选择之前发出一个Regen All吗?(只是猜测)
回复

使用道具 举报

10

主题

973

帖子

909

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 23:32:44 | 显示全部楼层
如何选择选择集?听起来您正在使用以下任一选项:
acSelectionSetWindow
acSelectionSetCrossing
 
如果是这样,是否需要将选择限制在某个区域(即,是否可以使用过滤后的acSelectionSetAll)?
回复

使用道具 举报

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 23:35:32 | 显示全部楼层
肖恩,
 
我使用的是过滤后的acSelectionSetAll。
否选择集不需要限制在某个区域,它必须包含整个图形。
回复

使用道具 举报

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-6 23:47:05 | 显示全部楼层
戴夫,
 
“ThisDrawing.Regen acAllViewPorts”没有改变任何东西。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 23:52:04 | 显示全部楼层
请在第一篇文章中粘贴相关代码可能会有所帮助。
回复

使用道具 举报

29

主题

519

帖子

477

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2022-7-7 00:00:52 | 显示全部楼层
下面是一段代码:
 
  1. ThisDrawing.Utility.GetEntity obj, bsPT, "Pick text on text layer to be rotated ..."
  2.    
  3. Set SelLay = ThisDrawing.Layers.Add(obj.Layer)
  4. SelectedLayer = SelLay.Name
  5. fType(0) = 0
  6. fData(0) = "TEXT"
  7. fType(1) = 8
  8. fData(1) = SelectedLayer
  9. ' regen all
  10. ThisDrawing.Regen acAllViewports                 ' this was for Dave
  11. Set ssText = AddSS("TEXT")
  12. ssText.Select acSelectionSetAll, , , fType, fData
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 05:46 , Processed in 1.140738 second(s), 72 queries .

© 2020-2025 乐筑天下

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