明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6416|回复: 18

CAD线号自动编号与排序[源码]

  [复制链接]
发表于 2019-2-1 11:39 | 显示全部楼层 |阅读模式
  • (defun c:chn ()
  •   (setq ss (ssget '((0 . "TEXT,MTEXT"))))
  •   (setq ll (acet-ss-to-list ss))
  •   (initget "LD LU RD RU DL DR UL UR")
  •   (setq tw (getkword "\n[Index:/DL/DR/LD/LU/RD/RU/UL/UR]<DL>:"))
  •   (if tw nil (setq tw "DL"))
  •   (cond
  •     ((or (= tw "DL")(= tw "DR"))     
  •       (setq ll (sorty+ ll))
  •       (if (= tw "DL")(setq ll (sortx+ ll))(setq ll (sortx- ll)) )
  •     )
  •     ((or (= tw "LD")(= tw "LU"))     
  •       (setq ll (sortx+ ll))
  •       (if (= tw "LD")(setq ll (sorty+ ll))(setq ll (sorty- ll)) )
  •     )
  •     ((or (= tw "RD")(= tw "RU"))     
  •       (setq ll (sortx- ll))
  •       (if (= tw "RD")(setq ll (sorty+ ll))(setq ll (sorty- ll)) )
  •     )   
  •    ((or (= tw "UL")(= tw "UR"))     
  •       (setq ll (sorty- ll))
  •       (if (= tw "UL")(setq ll (sortx+ ll))(setq ll (sortx- ll)) )
  •     )
  •   )
  •   (setq qz (getstring "\n请输入前缀相同的部分: "))
  •   (setq sn (getint "\n输入开始编号 <1>:"))
  •   (setq in (getint "\n输入增量 <1>:"))
  •   (setq cr (getint "\n输入颜色 1:红 2:黄 3:绿 5:蓝 7:白 <7>:"))
  •   (setq zt (getstring "\n输入字体 /宋体 /ROMANS /工程字 /WD /Standard <宋体>: "))
  •   (if sn nil (setq sn 1))
  •   (if in nil (setq in 1))
  •   (if cr nil (setq cr 7))
  •   (if (= zt "") (setq zt "宋体"))
  •   (foreach i ll
  •     (setq obj (vlax-ename->vla-object i))
  •     (vla-put-textstring obj (strcat qz (itoa sn)))
  •     (vla-put-stylename obj zt)
  • ;设置字体
  •     (vla-put-color obj cr)
  • ;设置字体颜色,1:红色  2:黄色  3:绿色  5:蓝 7:白   
  •     (setq sn (+ sn in))
  •   )
  • )

  • ;
  • (defun sortx+ (lst)
  •   (setq lst (vl-sort lst '(lambda (p1 p2)(< (car (cdr (assoc 10 (entget p1))))
  •                               (car (cdr (assoc 10 (entget p2))))))))
  • )
  • (defun sortx- (lst)
  •   (setq lst (vl-sort lst '(lambda (p1 p2)(> (car (cdr (assoc 10 (entget p1))))
  •                               (car (cdr (assoc 10 (entget p2))))))))
  • )
  • (defun sorty+ (lst)
  •   (setq lst (vl-sort lst '(lambda (p1 p2)(< (cadr (cdr (assoc 10 (entget p1))))
  •                               (cadr (cdr (assoc 10 (entget p2))))))))
  • )
  • (defun sorty- (lst)
  •   (setq lst (vl-sort lst '(lambda (p1 p2)(> (cadr (cdr (assoc 10 (entget p1))))
  •                               (cadr (cdr (assoc 10 (entget p2))))))))
  • )


评分

参与人数 1金钱 +5 收起 理由
世人皆醉 + 5 很给力!

查看全部评分

 楼主| 发表于 2019-2-1 11:40 | 显示全部楼层
CAD批量打印_单排等距.lsp


  • (defun c:mdy()
  •       (setvar "osmode" 0)  
  •       (setvar "osmode" 1)
  •       (setq fx (getstring "\n 输入图形方向 [纵向(P)/横向(L)] <横向>: "))   
  •       (if(= fx "P")(setq fx "P")(setq fx "L"))
  •       (setq PN (getstring "\n 输入打印机名称<Adobe PDF>: "))   
  •       (if(= PN "")(setq PN "Adobe PDF"))
  •       (setq zz (getstring "\n 输入打印偏移 (x,y) <0.00,0.00>或 [居中打印(C)] <C>: "))   
  •       (if(= zz "")(setq zz "C"))
  •       (setq AS (getint "\n输入需要打印圖紙數量<1>: "))
  •       (if AS nil (setq AS 1))
  •       (setq VDI (getdist "\n輸入||||間距<500.00>: "))
  •       (if VDI nil (setq VDI 500.00))   
  •       (setq P1 (getpoint "\n***框選零件圖的左下點: "))  
  •       (setq P2 (getcorner p1 "\n***框選零件圖的右上點: "))  
  •       (setq sn 0)
  •       (while (/= sn AS)
  •       (setq PP (polar p1 0 (* VDI sn)))
  •       (setq MP (polar p2 0 (* VDI sn)))
  •       (setq sn (+ sn 1))
  •        (command "-plot" "y" "model" PN "a4" "m" fx "n" "w" PP MP "f" zz "y" "monochrome.ctb" "y" "n" "n" "n" "y" )
  •        )  
  •       (setvar "osmode" 33)  
  •   )


回复 支持 1 反对 0

使用道具 举报

发表于 2019-2-2 11:28 | 显示全部楼层
pengl86 发表于 2019-2-1 11:40
CAD批量打印_单排等距.lsp

最好给个动态演示,这样看不清楚效果
发表于 2023-11-27 17:16 | 显示全部楼层
谢谢楼主分享
发表于 2023-10-25 20:56 | 显示全部楼层
我也想学编程
发表于 2023-9-29 09:26 | 显示全部楼层
如果有动画演示就更好
发表于 2023-9-28 10:18 | 显示全部楼层
谢谢楼主分享源码,支持你
发表于 2023-8-15 01:41 来自手机 | 显示全部楼层
一起来看下吧
发表于 2023-8-4 18:04 | 显示全部楼层
可以进行特定文字编号排序吗?
发表于 2022-6-7 18:31 来自手机 | 显示全部楼层
分感谢楼主的大公无私
发表于 2022-4-16 09:04 | 显示全部楼层
多谢大神的分享,谢谢
发表于 2022-2-13 08:56 | 显示全部楼层
非常不错的代码,谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 14:16 , Processed in 6.457167 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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