找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1593|回复: 6

[每日一码] 通过指定层统计直线做的源码(——)

[复制链接]

已领礼包: 218个

财富等级: 日进斗金

发表于 2013-5-21 12:29:13 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 炫翔 于 2013-5-21 15:42 编辑

由free-lancer热心指导完成!非常感谢!
  1. (defun c:jk (/)
  2.   (vl-load-com)
  3.   (vl-catch-all-apply
  4.     (function
  5.       (lambda (/ ss ssl i len)
  6. (princ "\n统计范围.....")
  7. (while
  8.    (setq
  9.      ss (ssget '((0 . "line") (8 . "BEAM,DIM,COOL,CORE")))
  10.    )
  11.     (setq ssl (sslength ss)
  12.    i   -1
  13.    len 0.
  14.     )
  15.     (repeat ssl
  16.       (setq e   (ssname ss (setq i (1+ i)))
  17.      len (+ len
  18.      (vlax-curve-getdistatparam
  19.        e
  20.        (vlax-curve-getendparam e)
  21.      )
  22.          )
  23.       )
  24.     )
  25.     (princ (strcat "Totle Length = " (vl-princ-to-string len)))
  26. )
  27.       )
  28.     )
  29.   )
  30.   (princ)
  31. )
  32. ;目前我想在更好的处理结果 (PRINC 层名)(PRINC  长度)有大师说把图层作为变量 晚点我试试 这样更加方便



  33. ;新人要是不能看的明白可以参考一下函数
  34. (defun c:tt (/ curve tlen ss n i)
  35.   (vl-load-com)
  36.   (setq i 0)
  37.   (princ (strcat "\n请选择线"))
  38.   (if (setq ss (ssget (list '(-4 . "<OR") '(8 . "DIM,CORE,COOL,CENTER") '(-4 . "OR>") '(-4 . "<OR") '(0 . "LINE") '(-4 . "OR>"))))
  39.     (progn
  40.       (setq n 0)
  41.       (repeat (sslength ss)
  42.         (setq curve (vlax-ename->vla-object (ssname ss n)))
  43.         (setq tlen (vlax-curve-getDistAtParam curve (vlax-curve-getEndParam curve)))
  44.         (setq i (+ i tlen))
  45.         (setq n (1+ n))
  46.       )
  47.       (print (strcat "总长度: " (rtos i 2 4))))
  48.   )
  49.   (princ)
  50. )
TEST.gif

点评

我给你发的代码着色了下,美观些  发表于 2013-5-21 15:42

评分

参与人数 1D豆 +3 收起 理由
牢固 + 3 有始有终奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-5-22 15:53:16 | 显示全部楼层
可以加多一步,
提取文字,
到任意指定位置
]~$W0V1~TF}$`1J[F@WE~%I.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 218个

财富等级: 日进斗金

 楼主| 发表于 2013-5-22 17:53:31 | 显示全部楼层
2012淡然之马 发表于 2013-5-22 15:53
可以加多一步,
提取文字,
到任意指定位置

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 41个

财富等级: 招财进宝

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 06:29 , Processed in 0.292948 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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