找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1080|回复: 10

[求助] 内外修剪速度相差,上百倍,几千条线实验,

[复制链接]

已领礼包: 1336个

财富等级: 财源广进

发表于 2018-7-26 21:16:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
  1. (defun pts (SS0 / elist n ptlist) ;端点列表
  2.   (setq ptlist nil)
  3.   (setq elist (entget SS0))
  4.   (foreach n elist
  5.     (if  (or (= 10 (car n)) (= 11 (car n))) ;同时处理PLINE和 LINE
  6.       (setq ptlist (cons (cdr n) ptlist))
  7.     )
  8.   )
  9.   (setq ptlist (reverse ptlist))
  10.   
  11. )
  12. (defun trim
  13.        (na / las obj os ptlist sss x)
  14.   
  15.   (setq os (getvar "osmode"))
  16.   (setvar "osmode" 0)
  17.   (setq Obj (vlax-ename->vla-object na))

  18.       (
  19.        vla-offset obj
  20.   ;-0.3
  21.   0.3   ;这里内外偏移防误选
  22.   )
  23.       
  24.       (setq las (entlast))
  25.       (setq ptlist(pts las))
  26.       (entdel las)
  27.       (command "ZOOM" "o" na "")
  28.    
  29.       ;;------------------------------------------------------
  30.       (repeat 2
  31.   (command "regen" "")
  32.   (if (SETQ
  33.         SSS (SSGET "f"
  34.        ptlist
  35.        '((0 . "LWPOLYLINE,LINE,ARC,CIRCLE,ELLIPSE,hatch"))
  36.       )
  37.       )
  38.     (progn (command ".trim" na "" "f")
  39.      (foreach x ptlist (command x))
  40.      (command "" "")
  41.     ) ;progn
  42.   )
  43.       ) ;repeat
  44.       ;;------------------------------------------------------
  45.       (command "zoom" "p")
  46.   
  47. ;;;;;;;;;;
  48.   (setvar "osmode" os)
  49. )
  50.    
  51. (defun c:tt ( / d end-time h m na s start-time ts) ;修剪内部比外部慢几十甚至百倍。不知道什么问题
  52.   (setq na (car (entsel "\n pick")))
  53. (setq start-time (* 86400 (getvar "tdusrtimer")))
  54.   (trim na)
  55.   (if start-time
  56.     (progn
  57.       (setq end-time (* 86400 (getvar "tdusrtimer"))
  58.      ts (- end-time start-time)
  59.      d (rtos (fix (/ ts 86400.0)) 2 0)
  60.      ts (rem ts 86400)
  61.      h (rtos (fix (/ ts 3600.0)) 2 0)
  62.      ts (rem ts 3600)
  63.      m (rtos (fix (/ ts 60.0)) 2 0)
  64.      ts (rem ts 60)
  65.      s (rtos ts 2 2)
  66.       )
  67.       (if (> (distof d) 0)
  68. (princ (strcat "\n用时 : " d "天" h "小时" m "分" s "秒"))
  69. (if (> (distof h) 0)
  70.    (princ (strcat "\n用时 : " h "小时" m "分" s "秒"))
  71.    (if (> (distof m) 0)
  72.      (princ (strcat "\n用时 : " m "分" s "秒"))
  73.      (princ (strcat "\n用时 : " s "秒"))
  74.    )
  75. )
  76.       )
  77.     )
  78.   )
  79. )

;|
很多line或pline,两端通过矩形a.矩形a内部修剪很慢,外部修剪很快,其他地方不变,只是偏移一个图形选内,外,那里变化一下,其他代码均不变,速度相差,上百倍,几千条线实验,|;
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-7-26 22:56:25 | 显示全部楼层
请上传个你测试时候的DWG.

点评

谢谢大师光临。就是不明白同样的代码,一个修剪内部要慢那么多  详情 回复 发表于 2018-7-27 08:36
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1227个

财富等级: 财源广进

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

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2018-7-27 08:36:19 | 显示全部楼层
newer 发表于 2018-7-26 22:56
请上传个你测试时候的DWG.

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

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

 楼主| 发表于 2018-7-27 08:39:39 | 显示全部楼层
就是一个矩形,上下穿个他的线,任意的都可以,没特别要求

trim.rar

50.63 KB, 下载次数: 11, 下载积分: D豆 -1 , 活跃度 1

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

使用道具 举报

已领礼包: 3904个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 25个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 02:20 , Processed in 0.190554 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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