乐筑天下

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

[编程交流] 在绘图中放置网格记号

[复制链接]

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 07:13:32 | 显示全部楼层 |阅读模式
我正在寻找一种在图形中自动放置网格标记的方法。
 
该程序将允许用户将光标放置在模型视图中的任何位置,在数据点上,它将锁定在250’的网格点上,读取它,显示网格标记的位置,然后允许用户接受并放置带有X、Y坐标的网格标记,或拒绝它,并移动到另一个位置,该过程再次开始。
 
我有一个Microstation“用户命令”可以完成上述操作,但我现在在AutoCad中工作,可以在那里真正使用它。
 
谢谢
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 07:33:33 | 显示全部楼层
嗯,简单地使用Point命令怎么样?您可以通过DSettings命令设置“网格”间距并捕捉到网格(或右键单击状态栏并选择Settings…)。
 
您可能希望将PDMODE转换为更像“网格刻度”的“点”。或者可以使用Insert命令来放置块。要重复相同的命令,请从多个命令开始。然后:如果你使用Point,你只需将鼠标移动到你想要的每个网格上,然后只在那里单击。
 
如果使用insert,则此lisp将以相同的方式工作:
  1. (defun c:InsertMultiple (/ bname)
  2. (if (setq bname (getstring "\nEnter Block name: "))
  3.    (while t (command "._-insert" bname pause "" "" "")))
  4. (princ))
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 07:44:56 | 显示全部楼层
还有一点希望你不要介意
 
  1. (defun c:InsertMultiple (/ bname)
  2. (setvar oldsnap "osmode")
  3. (setvar "osmode" 0)
  4. (setvar "Gridunit" "50,50")
  5. (setvar "gridmode" 1)  
  6. (if (setq bname (getstring "\nEnter Block name: "))   
  7. (while t (command "._-insert" bname pause "" "" "")))
  8. (setvar "osmode" oldsnap)
  9. (setvar "gridmode" 0)
  10. (princ)
  11. )
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 07:54:58 | 显示全部楼层
别介意!只是我会小心一点。您需要一个*错误*例程,以防用户按Esc键。否则,最终可能会永久关闭OSNAP。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 08:12:10 | 显示全部楼层
是的,我倾向于作弊,不担心错误,除非我真的需要,有osmode filedias等的快速修复。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-6 08:22:40 | 显示全部楼层
如果需要网格可见,您可能还需要查看限制-大卫
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 09:54 , Processed in 0.685890 second(s), 64 queries .

© 2020-2025 乐筑天下

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