找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 333|回复: 5

[求助] 新手请帮忙插件修改。。。

[复制链接]

已领礼包: 2个

财富等级: 恭喜发财

发表于 2017-6-3 00:38:28 | 显示全部楼层 |阅读模式

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

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

×
(defun qbc (pts / n bc_list b h pt1 pt2 pt3 pt4)
        (setq n 0 bc_list nil)
        (setq pt1 (nth n pts))
        (setq pt2 (nth (+ 1 n) pts))
        (setq pt3 (nth (+ 2 n) pts))
        (setq pt4 (nth (+ 3 n) pts))
        (setq b (distance pt1 pt4))
        (setq h (distance pt1 pt2))
        (setq bc_list (cons b h))
      );结束子函数
  
(defun c:tg (  / bclst pts ss el bc_new i p1 p3 m x1 x2)
   (setvar "cmdecho" 0)
   (setq os (getvar "osmode"))
   (setq clay (getvar "clayer"))
   (setvar "osmode" 0)
   (command "layer" "s" "DIM" "")
   ;(setvar "lunits" 1)
   (princ "\n框选矩形:")
   (setq ss (ssget '((0 . "LWPOLYLINE"))))
   ;(setq ee (ssname ss 0))
   (setq i 0 x 0 bclst nil pts nil bc_new nil)
   ;(setq la (cdr (assoc 8 (entget ee))))
   (setq x (sslength ss))
   (repeat x
               (setq el (entget (ssname ss i)))
                             (foreach pt el
                    (if (= (car pt) 10)
                        (setq pts (append pts (list (cdr pt))))
                     );结束IF
                 );结束foreach遍历元素      
                (setq bc (qbc pts))
                (setq bclst(cons bc bclst))
                (setq pts nil)
               ;(setq la (cdr (assoc 8 (entget ee))))
                (setq i (+ 1 i))
             );结束repeat         
         
    (setq bc_new nil)
    (while bclst
          (setq m (car bclst) x1 (length bclst))
          (setq bclst (vl-remove m bclst))
          (setq x2 (length bclst))
          (setq n (- x1 x2))
          (setq bc_new (cons (append (list m) (list n))bc_new))
    )
   (setq p1 (getpoint "\起始位置"))
   (setq p2 (polar p1  0 60))
   (setq p3 (polar p2  0 56))
   (setq ph (polar p1 (* pi 1.5) 2.5))
   (setq pha (polar ph (* pi 1) 15))
   (setq phb (polar pha 0 150))
      (command "text" "j" "c" (polar p2 (* pi 0.5) 10) "5" "0" "尺寸")
      (command "text" "j" "c" (polar p3 (* pi 0.5) 10) "5" "0" "数量")
      (command "line" pha phb "")
    (foreach bg bc_new
    (command "text" "j" "c" p2 "5" "0" (strcat (rtos (car (car bg)) 2)"*"(rtos (cdr (car bg))2)));;;长宽尺寸
    (command "text" "j" "c" p3 "5" "0" (cadr bg))
     (command "line" pha phb "")
     (setq p1 (polar p1 (* pi 1.5) 12))
     (setq p2 (polar p1  0 60))
     (setq p3 (polar p2  0 56))
     (setq pha (polar pha (* pi 1.5) 12))
     (setq phb (polar phb (* pi 1.5) 12))
     )
     ;(setvar "lunits" 4)
     (setvar "osmode" os)
     (command "layer" "S" clay  "")
     (princ)
   )cad统计矩形边长和数量并列出的工具,选择内容包含非矩形时返回‘参数类型错误: 二维/三维点: nil,’请帮忙修改一下忽略选中的非矩形构件,谢谢,
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 5188个

财富等级: 富甲天下

发表于 2017-6-3 07:41:37 | 显示全部楼层
本帖最后由 原地踏步 于 2017-6-3 07:43 编辑

你在子函数中加上判断吧。比如说对应两边相等,有一个角为直角,满足条件才加入bc_list。然后将主程序的选择改为(setq ss (ssget '((0 . "LWPOLYLINE") (90 . 4) (70 . 1)))),可以保证你选到的为四个点的封闭多段线。
此外,在(sslength ss)之前最好加上 if ss,否则你没选到时程序会出错。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 1 反对 0

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

 楼主| 发表于 2017-6-3 09:04:32 | 显示全部楼层
谢谢大神,我想把下划线变成表格,您能告诉我改哪一句怎么改吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 812个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 275个

财富等级: 日进斗金

发表于 2017-6-3 09:32:08 | 显示全部楼层
矩形统计工具么,挺好的,不过院长的插件包里面有啊~e派工具
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 01:39 , Processed in 0.406708 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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