iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 25826|回复: 4
打印 上一主题 下一主题

cad中不同层间偏移实体(提供源码)

[复制链接]
跳转到指定楼层
楼主
发表于 2010-10-25 22:48:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在层间偏移很有用,所以在网上找了以下文件,但做成LSP后还是不能用 ,有那个高手帮忙做成LSP,谢谢!

  在cad作图中,“offset”命令只能在同一层中偏移实体,而实际绘图中常常需要在不同层间偏移实体。例如:在一层上画完中心线后,只需将其向两边偏移一定的距离即可得到轮廓线,而中心线和轮廓线一般不在同一层上,还需改变轮廓线所在层。下面这个用autolisp编写的程序可以在不同层间偏移实体,解决了这一问题。其中变量“layer”定义为全局变量,指要把实体偏移到所在层的层名。当使用该函数时,如果所偏移到的层与上次相同,可以不用输入层名(变量“layer”的值)。

  (defun cla(/cmdecho d d1 lay ent p)

  (if *error* quit)

  (setq cmdecho (getvar ″cmdecho″))

  (setvar″cmdecho″1)

  (princ″\noffset dist<″)

  (setq d(getvar ″offsetdist″))

  (if(/=d-1)(princ d))

   (setq d1(getdist″>:″))

   (if(/=d1 nil)(setq d d1))

   (princ″\ninput the layer name to offset to<″)

   (if(/=layer nil)(princ layer))

   (setq lay(getstring ″>:″))

   (if (/=lay ″ ″)(setq layer lay))

   (while(setq ent(entsel ″\nselect object to offset:″))

   (setq p(getpoint″\nside object to offset?″))

   (command ″—.offset″d ent p″ ″)

   (command ″—.change″ ″1″ ″″ ″p″ ″layer″layer″ ″)

   )

   (setvar″cmdecho″ cmdecho)

   (princ)

  ) ola.rar (400 Bytes, 下载次数: 12)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
 楼主| 发表于 2010-10-25 23:35:36 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
板凳
 楼主| 发表于 2010-10-27 14:50:35 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
地板
发表于 2010-12-11 23:05:48 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
5
发表于 2010-12-11 23:06:26 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

手板模型制作,在线3D打印服务

QQ|小黑屋|手机版|开思工具箱 CAD工具箱_CAM工具箱  

GMT+8, 2024-11-21 21:11 , Processed in 0.014946 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表