明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3091|回复: 12

[基础] 自己学着写个代码,对象外围线,有些代码不会使用,请老师指正

  [复制链接]
发表于 2011-1-20 09:29:52 | 显示全部楼层 |阅读模式
我先简单说明一下我的思路,(下面有图片)
1,根据多项选择对象(ssget),自动在对象的外围画出pline线,并向外平偏移1mm。
我自己先做了一个代码,简单的,多项选择对象为方形排布,这样我就可以用代码,飞诗vlisp得到代码:
(vla-GetBoundingBox *base*)

,取得最大和最小点,这个代码具体怎么得到不会用,

2,根据多项选择对象(ssget),外围画出多边形的,算点麻烦一点,这个不知道怎么弄

3,下面的文件是,就是图片的cad文件


本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2011-1-20 09:33:09 | 显示全部楼层
院长的工具箱里面有个命令可以实现这样的功能,他是根据每个选择到的对象都向外偏移一定的距离,然后通过pline布尔得到一个外围的线,(不知道我说的对不对,
发表于 2011-1-20 21:34:47 | 显示全部楼层
本版有画多个物体外框的源代码,找找看。
 楼主| 发表于 2011-1-21 10:24:32 | 显示全部楼层
请zzxxqq帮忙解释一下这个代码的用法(vla-GetBoundingBox *base*)
 楼主| 发表于 2011-1-21 10:29:06 | 显示全部楼层
回复 ZZXXQQ 的帖子

请zzxxqq帮忙解释一下这个代码的用法(vla-GetBoundingBox *base*)
发表于 2011-1-21 13:05:16 | 显示全部楼层
vl系列函数我不清楚。问别人吧。
 楼主| 发表于 2011-1-21 16:02:37 | 显示全部楼层
回复 ZZXXQQ 的帖子

请问版主,lisp也可以得到这些点吗?能不能给个方法,我刚刚基础学习,麻烦,论坛里面的太深奥了,看不懂
发表于 2011-1-21 16:26:22 | 显示全部楼层

  1. ;;;计算物体包围框左下角和右上角坐标
  2. (defun GetBox (ent / ll ur)
  3.   (if (= 'ENAME (type ent))
  4.   (vla-getboundingbox (vlax-ename->vla-object ent) 'll 'ur)
  5.     (vla-getboundingbox ent 'll 'ur)
  6.     )
  7.   (mapcar 'vlax-safearray->list (list ll ur))
  8. )

 楼主| 发表于 2011-1-22 10:18:24 | 显示全部楼层
回复 Gu_xl 的帖子

谢谢gu_xl的帮助,初学lisp函,数的运用不是很懂,能不能帮忙写个完整的代码,就是我发的图片效果,通过多选择物体,得出每个外围点,然后用pline进行连线,最后往外扩1mm,论坛里面的代码我不知道怎么整合。万分感谢
发表于 2011-4-26 20:34:53 | 显示全部楼层
回复 Gu_xl 的帖子

G版,谢谢,万岁万岁····
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-30 01:15 , Processed in 0.211776 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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