明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 317|回复: 1

[资源] 请大佬帮忙修改一下规则

[复制链接]
发表于 2023-4-10 12:35 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 huisguiji 于 2023-4-10 15:46 编辑

我是做柜子的,这个统计程序也是在本论坛下载的,现在想按我这行的使用要求请大佬帮忙修改一下规则
1 前面再加1列编号  后面数据和数量可不可以成1行文字
2 大小按宽排一起,不是现在这样一条大一条小的  200宽以内(含200)归小  以上归大
3 宽200以内长度自动加20
4 排序  按从左到右 上到下  
5 这里统计还有0的,宽小于4的不统计


以下是代码

(defun qbc (pts / b h)
(setq b (distance (car pts) (cadddr pts)))
(setq h (distance (car pts) (cadr pts)))
(cons (max b h) (min b h))
);结束qbc
(defun c:tg ( / bclst pts ss el bc_new i p2 p3 m x1 x2)
(princ "\n请框选矩形:")
(setq ss (ssget '((0 . "LWPOLYLINE") (90 . 4))))
(setq i 0 bclst nil pts nil)
(repeat (sslength ss)
  (setq el (entget (ssname ss i)))
  (setq pts nil)
  (foreach pt el (if (= (car pt) 10) (setq pts (cons (cdr pt) pts))))      
  (setq bclst (cons (qbc pts) bclst))
  (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 (list m n) bc_new))
)
(setq p2 (getpoint "\起始位置"))
(setq p3 (polar p2 0 400))
(command "_.TEXT" "c" (polar p2 (* pi 0.5) 140) "70" "0" "高*宽=");指定书写标题的位置
(command "_.TEXT" "c" (polar p3 (* pi 0.5) 140) "70" "0" "数量")
(foreach bg bc_new                                                      ;设定重复次数为新表的长度
  (command "_.TEXT" "c" p2 "70" "0" (strcat (rtos (car (car bg)) 2)"*" (rtos (cdr (car bg))2)"="))      
  (command "_.TEXT" "c" p3 "70" "0" (cadr bg))
  (setq p2 (polar p2 (* pi 1.5) 140))
  (setq p3 (polar p2 0 400))
)
(princ)
)

附件: 您需要 登录 才可以下载或查看,没有账号?注册
发表于 2023-4-13 09:18 | 显示全部楼层
最好可以上个cad图方便测试
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 16:21 , Processed in 0.350688 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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