明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 革天明

全部的币都拿出来了!求实现自动TRIM功能!

  [复制链接]
 楼主| 发表于 2012-4-28 11:52:15 | 显示全部楼层
Andyhon 发表于 2012-4-28 11:42
调试与结果

Command: (setq xxset (mapcar 'car (get '10 (mapcar 'entget (sslist (ssget))))))

你的效果效果确实很好,但你能将完整的LSP发一下吗,高手对调试都很在行,我对每个函数具体的动作都还不能完全摸透,只是会调用,所以您能将完整的LSP写一下吗,半成品的代码我上传的很多,程序也简单,只是对于图元的操控我比较弱,加上第一次使用TRIM BREAK boundry等,
回复

使用道具 举报

 楼主| 发表于 2012-4-28 11:58:23 | 显示全部楼层
第一次发布悬赏终于弄好了,http://www.mccad.net/index.php?do=task&task_id=7
有点少,我没有想到这个问题这么难,大家认为这个问题多少钱合适呢?
我的使用环境:XP CAD20006 机械版,一般没有装 ET工具,
回复

使用道具 举报

 楼主| 发表于 2012-4-28 11:59:51 | 显示全部楼层
革天明 发表于 2012-4-28 11:36
红色是我加上去的,红色部分有一个分界槽没有剪开

原来是白线,生成白线很简单,这个地方没有问题,是我改成红色,为了醒目,但此处有线却没有将分界槽剪开
回复

使用道具 举报

发表于 2012-4-28 12:11:16 | 显示全部楼层
flytoday 发表于 2012-4-28 08:00
院长很那个那个…发内裤码…这个还只发张图片……

院你您大师能不能不公布内裤码呢。。

对您大师来说。。得让小辈多学点东西啊。。

藏着。。。藏着。。。。[em0]
回复

使用道具 举报

发表于 2012-4-28 12:14:39 | 显示全部楼层
本帖最后由 Andyhon 于 2012-4-28 12:15 编辑

...没有将分界槽剪开...

您得将产生上述情况的图纸(*.Dwg)上传,才好 Debugging ...
回复

使用道具 举报

 楼主| 发表于 2012-4-28 12:27:05 | 显示全部楼层
Andyhon 发表于 2012-4-28 12:14
...没有将分界槽剪开...

您得将产生上述情况的图纸(*.Dwg)上传,才好 Debugging ...

例子在下面

本帖子中包含更多资源

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

x

点评

我用我改的程序在06下没有发现异常,不知道你那边为什么不行  发表于 2012-4-28 13:46
回复

使用道具 举报

 楼主| 发表于 2012-4-28 14:35:04 | 显示全部楼层
高手们,就差最后一脚了,再完善一下就成功了!加油!
回复

使用道具 举报

发表于 2012-4-28 16:11:48 | 显示全部楼层
flytoday 发表于 2012-4-28 12:11
院你您大师能不能不公布内裤码呢。。

对您大师来说。。得让小辈多学点东西啊。。

哈哈院长回答真高名哈。。。。。

对您这样滴大师来说。。得让小辈多学点东西啊。。要公布点好东东哦
回复

使用道具 举报

发表于 2012-4-28 16:52:30 | 显示全部楼层
只通过 55# 所举例子

  1. ;;; 计算两点的中点
  2. (defun mpt (mpt1 mpt2)
  3.   (polar mpt1 (angle mpt1 mpt2) (/ (distance mpt1 mpt2) 2))
  4. )

  5. (defun Dvl (ptLst / pxs)
  6.    (foreach pts Ptlst
  7.       (setq p5 (apply 'mpt pts)
  8.             px (car p5)
  9.            pxs (cons px pxs)
  10.             p6 (list px y0)
  11.       )
  12.       (entmake (list '(0 . "LINE") (cons 10 p6) (cons 11 p5)))
  13.       (ssadd (entlast) ss3)
  14.    )
  15.    pxs
  16. )

  17. (defun gt2Pts (a)
  18.    (list
  19.       (vlax-curve-getStartPoint a)
  20.       (vlax-curve-getEndPoint a)
  21.    )
  22. )

  23. (defun findV (ss / ptss)
  24.    (setq nn (sslength ss)
  25.          nn (1- nn)
  26.    )
  27.    (while (setq ee (ssname ss nn))
  28.      (setq pts (gt2Pts ee)
  29.             dd (apply 'mapcar (cons '- pts))
  30.             dd (mapcar 'abs dd)
  31.             nn (1- nn)
  32.      )
  33.      (if (equal (car dd) (cadr dd) 1e-4)
  34.        (setq ptss (cons pts ptss))
  35.    ) )
  36.    ptss
  37. )

  38. (defun c:test ()
  39.    (setq ss (ssget))
  40.    (command "PEDIT" "M" ss "" "Y" "J" "" "")
  41.    (setq eepl (entlast))
  42.    (command "Explode" eepl)
  43.    (setq ss (ssget "P")
  44.         ss2 (findV ss)
  45.         ss3 (ssadd)
  46.    )

  47.    (command "PEDIT" "M" ss "" "Y" "J" "" "")
  48.    (setq eepl (entlast))
  49.    (vla-getboundingbox (vlax-ename->vla-object eePl) 'minpt 'maxpt)
  50.    (setq ;; eepl (entlast)
  51.          ;; pts (acet-ent-geomextents eePl)
  52.          pts (list (vlax-safearray->list minpt) (vlax-safearray->list maxpt))
  53.           p1 (car pts)
  54.           p3 (cadr pts)
  55.           x0 (car p1)
  56.           x9 (car p3)
  57.           y0 (cadr p1)
  58.           y5 (+ y0  2)
  59.           pa (list (+ x0 1) y5)
  60.         nxtx (cdr (Dvl ss2))
  61.    )
  62.    (setvar "OsMode" 0)
  63.    (command "boundary" pa)
  64.      (while (setq pbx (car nxtx))
  65.        (setq nxtx (cddr nxtx)
  66.                pb (list (+ pbx 1) y5)
  67.        )
  68.        (command pb)
  69.      )
  70.    (command "")
  71.    (setq ss2 (ssget "w" p1 p3))
  72.    (command "erase" eepl ss3 "")
  73. )

点评

可以使用了,谢谢!  发表于 2012-4-29 08:05
回复

使用道具 举报

发表于 2012-4-28 17:57:54 | 显示全部楼层
帮你顶
也想了解
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 00:28 , Processed in 0.312729 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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