找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: Lispboy

[矩形] 自由矩形(建模利器)

 火... [复制链接]
发表于 2013-11-4 12:12:19 | 显示全部楼层
newer 发表于 2013-11-4 12:09
上面给你的第二个链接就是做你说的了。

如果你还有什么特别的需要,去编程申请发个帖子吧,详细说下要 ...

你的第二个程序是加的操作,我想要减的操作。就是要把突出来的直线减掉

点评

道理是一样的,如果你懂代码,可以把里面的最大包围盒的部分去掉就是了,你的要求相对那个更容易些, 你去编程申请提交个帖子吧,说明下你的要求,抽空给你写个。  详情 回复 发表于 2013-11-4 12:24
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-11-4 12:24:56 | 显示全部楼层
c961806787 发表于 2013-11-4 12:12
你的第二个程序是加的操作,我想要减的操作。就是要把突出来的直线减掉

道理是一样的,如果你懂代码,可以把里面的最大包围盒的部分去掉就是了,你的要求相对那个更容易些,

你去编程申请提交个帖子吧,说明下你的要求,抽空给你写个。

点评

谢谢你啦。我也在写,就是老是不成功!能帮我看看代码吗?  详情 回复 发表于 2013-11-4 12:32
你的代码cad的lisp的标准代码,应该是晓东API吧,着实看不懂。  详情 回复 发表于 2013-11-4 12:27
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-11-4 12:27:35 | 显示全部楼层
newer 发表于 2013-11-4 12:24
道理是一样的,如果你懂代码,可以把里面的最大包围盒的部分去掉就是了,你的要求相对那个更容易些,

...

你的代码不是cad的lisp的标准代码,应该是晓东API吧,着实看不懂。

点评

API有函数手册,你要有写程序的基础,很容易掌握。用API写程序快,可以让你钻心用于算法实现上,想出来的,API基本都有函数去用,推荐你去学。事半功倍。  详情 回复 发表于 2013-11-4 12:37
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-11-4 12:32:15 | 显示全部楼层
newer 发表于 2013-11-4 12:24
道理是一样的,如果你懂代码,可以把里面的最大包围盒的部分去掉就是了,你的要求相对那个更容易些,

...

谢谢你啦。我也在写,就是老是不成功!能帮我看看代码吗?
  1. ;;轴线裁剪
  2. (defun c:atr( / )
  3.   (vl-cmdf "undo" "be")
  4.   (CG:StoreSysVar)
  5.     ;主程序开始
  6.   (vl-load-com)
  7.   (setvar 'cmdecho 0)
  8.   (setvar 'osmode 0)
  9.   (princ "\n选择需裁剪的轴线:")
  10.   (setq ss (ssget) nn (sslength ss) i 0 sslist '())
  11.   (repeat nn
  12.     (setq en0 (ssname ss i))
  13.     (setq pta (Vlax-Get (Vlax-Ename->Vla-Object en0) 'EndPoint)
  14.     ptb (Vlax-Get (Vlax-Ename->Vla-Object en0) 'StartPoint)
  15.     sslist (append (list (list en0 pta) (list en0 ptb)) sslist);所有直线端点的集合
  16.     go t j 0 mm (- nn 2)
  17.     )
  18.     (ssdel en0 ss)
  19.     (while (and go (<= j mm))
  20.       (setq en1 (ssname ss j))
  21.       (setq ptc (Vlax-Get (Vlax-Ename->Vla-Object en1) 'EndPoint)
  22.       ptd (Vlax-Get (Vlax-Ename->Vla-Object en1) 'StartPoint)
  23.       )
  24. ;;;      (vl-cmdf "_.area" pta ptc ptd "")
  25. ;;;      (setq #area (getvar 'area))
  26.       (if (and (equal (+ (distance pta ptc) (distance pta ptd)) (distance ptc ptd) 10) (/= (inters pta ptb ptc ptd t) nil))
  27.   (progn (vl-remove (list en0 pta) sslist) (setq go nil))
  28.       )
  29.       (setq j (1+ j))
  30.     )
  31.     (setq go t j 0)
  32.     (while (and go (<= j mm))
  33.       (setq en1 (ssname ss j))
  34.       (setq ptc (Vlax-Get (Vlax-Ename->Vla-Object en1) 'EndPoint)
  35.       ptd (Vlax-Get (Vlax-Ename->Vla-Object en1) 'StartPoint)
  36.       )
  37. ;;;      (vl-cmdf "_.area" ptb ptc ptd "")
  38. ;;;      (setq #area (getvar 'area))
  39.       (if (and (equal (+ (distance ptb ptc) (distance ptb ptd)) (distance ptc ptd) 10) (/= (inters pta ptb ptc ptd t) nil))
  40.    (progn (vl-remove (list en0 ptb) sslist) (setq go nil))
  41.     )
  42.       (setq j (1+ j))
  43.     )
  44.     (ssadd en0 ss)
  45.     (setq i (1+ i))
  46.   )
  47.   (setq nn_list (length sslist) k 0)
  48.   (repeat nn_list
  49.     (setq pt_bas (nth k sslist))
  50.     (vl-cmdf "_.trim" ss "e" "n" pt_bas "")
  51.     (setq k (1+ k))
  52.   )
  53.     ;主程序结束
  54.   (vl-cmdf "_.undo" "e")
  55.   (princ "\n***完成!")
  56.   (CG:RestoreSysVar)
  57.   (prin1)
  58. )
  59. (prompt "\n***池工出品,精益求精!***")
  60. (prin1)

  61. ;存储系统变量
  62. (defun CG:StoreSysVar()
  63.   (setq vcmde (getvar "CMDECHO"))  ;普通命令的提示
  64.   (setq vblip (getvar "blipmode")) ;光标痕迹
  65.   (setq vclay (getvar "CLAYER"))   ;图层
  66.   (setq vosmo (getvar "osmode"))   ;捕捉模式
  67.   (setq vplwd (getvar "plinewid")) ;pl宽度
  68.   (setq vlupr (getvar "luprec"))   ;长度精度
  69. )
  70. ;还原系统变量
  71. (defun CG:RestoreSysVar()
  72.   (setvar "CMDECHO" vcmde)
  73.   (setvar "blipmode" vblip)
  74.   (setvar "CLAYER" vclay)
  75.   (setvar "osmode" vosmo)
  76.   (setvar "plinewid" vplwd)
  77.   (setvar "luprec" vlupr)
  78. )
  79. ;错误处理
  80. (defun *error* (msg)
  81.   (CG:RestoreSysVar)
  82.   (princ msg)
  83. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-11-4 12:37:42 | 显示全部楼层
c961806787 发表于 2013-11-4 12:27
你的代码不是cad的lisp的标准代码,应该是晓东API吧,着实看不懂。

API有函数手册,你要有写程序的基础,很容易掌握。用API写程序快,可以让你钻心用于算法实现上,想出来的,API基本都有函数去用,推荐你去学。事半功倍。

点评

恩,谢谢,已经下载了!  详情 回复 发表于 2013-11-4 12:39
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-11-4 12:39:39 | 显示全部楼层
newer 发表于 2013-11-4 12:37
API有函数手册,你要有写程序的基础,很容易掌握。用API写程序快,可以让你钻心用于算法实现上,想出来的 ...

恩,谢谢,已经下载了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2013-11-5 01:57:32 | 显示全部楼层
挺好玩的  收下了  谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 620个

财富等级: 财运亨通

发表于 2013-11-6 16:15:18 | 显示全部楼层
这个厉害!{:soso_e179:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-11-8 10:30:56 | 显示全部楼层
好厉害!                       
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

匿名  发表于 2013-11-8 17:30:52
太牛逼啦,能做三维对话框式调整吗、还有数据导出,零件图出图
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-11-9 09:30:33 | 显示全部楼层
看看,学习一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-11-15 15:01:25 | 显示全部楼层
强烈想看一看……
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-11-17 17:14:57 | 显示全部楼层
这么厉害!前途无量啊!{:soso_e154:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-11-19 11:23:28 | 显示全部楼层
还没有想好再哪里使用,不过确实不错!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-11-21 15:49:09 | 显示全部楼层
经典 值得拥有
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-21 23:36 , Processed in 0.269614 second(s), 63 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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