乐筑天下

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

[编程交流] 外部参照LISP建议?

[复制链接]

7

主题

32

帖子

25

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 17:07:46 | 显示全部楼层 |阅读模式
你好
 
我一直在尝试编写自己的例程,将外部参照附着到图形。LISP的原因是我们在两个不同的网格系统中有设计和测量图纸。我不希望最终用户每次需要从其他网格系统外部参照图形时都必须输入比例、插入和旋转参数,因为这样做可能会出错。
 
我已经使用LISP例程很多年了,但对实际语言没有太多经验。我在下面写的似乎很有效,但我想知道是否存在错误,以及是否可以用更好的方式写。
 
非常感谢您的帮助。
 
我还附上了我的测试图纸。代码从“CONVERT OSGB36_300916”运行。dwg“和”CONVERT LOCAL_300916。dwg’是要附着的外部参照。我打算包括覆盖或附加选项,以毫米为单位处理图形,以及此转换的逆。欢迎提出任何其他建议。
 
转换OSGB36_300916。图纸
转换本地_300916。图纸
 
  1. (defun c:MAGXREF (/ UserAngBase UserAngDir MAGinsert MAGscale MAGrotate MAGdwg)
  2. (setvar "CMDECHO" 0)
  3. (setq
  4.     UserAngBase (getvar "ANGBASE")
  5. UserAngDir (getvar "ANGDIR")
  6.    )
  7. (setvar "ANGBASE" 0)
  8. (setvar "ANGDIR" 0)
  9. (setq
  10.     MAGinsert "379371.746456400,369122.032139750" ;insert for drawing in meters. consider millimetres.
  11.     MAGscale 0.999592303
  12.     MAGrotate 38.704108479
  13.     MAGdwg (getfiled "Select MAG Local DWG" (getvar "dwgprefix") "dwg"
  14. ;attach or overlay? - user input required
  15. )
  16. (command "-xref" "Attach" MAGdwg MAGinsert MAGscale MAGscale MAGrotate)
  17. (setvar "ANGBASE" UserAngBase)
  18. (setvar "ANGDIR" UserAngDir)
  19. (setvar "CMDECHO" 1)
  20. (prin1)
  21. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 09:06 , Processed in 1.072756 second(s), 54 queries .

© 2020-2025 乐筑天下

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