- UID
- 21907
- 积分
- 235
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-12-25
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
我写了一个程序,发现在不同的机子上运行的结果不一样!?不知为何,请各位高手指点:
程序的目的是选择多边形外指定范围内的实体.实现方法是首先选取多边形,对其进行(正/负)偏移,求出其中面积大者,取出其顶点坐标,然后用SSGET的"_F"进行选择.
出现的问题就在对偏移出的两个多边形的删除上,在我的笔记本上运行时,将原来的那个多边形也删除掉了.但在台式机上结果正常.不知为何?(都是WINXP+ACAD2004)
我还传了一个DWG上来
下面是程序的片断.
- [FONT=courier new]
- (SETQ en-pl1 (car (entsel)))
- (SETQ obj-pl1 (VLAX-ENAME->VLA-OBJECT en-pl1))
- (SETQ obj-pl2
- (CAR (VLAX-SAFEARRAY->LIST
- (VLAX-VARIANT-VALUE (VLA-OFFSET obj-pl1 0.5))
- )
- )
- )
- (VLA-PUT-LAYER obj-pl2 "偏移多边形")
- (VLA-UPDATE obj-pl2)
- (SETQ obj-pl3
- (CAR (VLAX-SAFEARRAY->LIST
- (VLAX-VARIANT-VALUE
- (VLA-OFFSET obj-pl1 (* -1 0.51))
- )
- )
- )
- )
- (VLA-PUT-LAYER obj-pl3 "偏移多边形")
- (VLA-UPDATE obj-pl3)
- ;;取出偏移出的多边形的面积
- (SETQ area-pl2 (VLA-GET-AREA obj-pl2)
- area-pl3 (VLA-GET-AREA obj-pl3)
- )
- ;;先删除掉偏移出的两个多边形
- ;;执行了下面两句后,OBJ-PL1也被删除掉了
- (ENTDEL (VLAX-VLA-OBJECT->ENAME obj-pl2))
- (ENTDEL (VLAX-VLA-OBJECT->ENAME obj-pl3))
- [/FONT]
复制代码
运行前:
e:\t1.bmp
运行后:
e:\t2.bmp |
|