天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 35|回复: 0

块名称:固定前缀+时间 ==快速建块

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-8-2 15:53:15 | 显示全部楼层 |阅读模式
  1. ;;==快速建块(JK)=================================================================================================
  2. ;块名称:固定前缀+时间  (华星切割2018-09-13-16-38-32)
  3. ;块基点为选择集中心点
  4. ;原作者:namezg  
  5. ;修改者:htlaser
  6. (defun c:jk (/ zg-GetSSBoundingbox blipmode_bak ss blkname ssbox basept inspt)
  7.         ;功能:返回选择集包围盒
  8.         ;参数: ss--选择集
  9.         ;返回值:选择集所有实体做为整体的包围盒
  10.         ;(setq ssbox (zg-GetSSBoundingbox (setq ss (ssget))))
  11.         (defun zg-GetSSBoundingbox (ss / i ssn ll rr box ptlist ssbox)
  12.                 (if ss
  13.                         (progn
  14.                                 (setq i -1)
  15.                                 (repeat (sslength ss)
  16.                                         (setq ssn (ssname ss (setq i (1+ i))))
  17.                                         (vla-GetBoundingBox (vlax-ename->vla-object ssn) 'll 'rr)  ;得到对象的包围盒
  18.                                         (setq box (list (vlax-safearray->list ll) (vlax-safearray->list rr)))
  19.                                         (setq ptlist (append box ptlist))
  20.                                 )
  21.                                 (setq ssbox (mapcar '(lambda (x) (apply 'mapcar (cons x ptlist))) (list 'min 'max)))
  22.                         )
  23.                 )
  24.         )
  25.         (vl-load-com)
  26.         (setq ss (cadr (ssgetfirst)))
  27.         (setvar "cmdecho" 0)
  28.         (command "_undo" "be")
  29.         (princ "\n选择快速创建块的对象: ")
  30.         (if (or ss (setq ss (ssget)))
  31.                 (progn
  32.                         ;(setq blkname (rtos (* (getvar "cdate") 1e8))) ;块名称
  33.                         (setq blkname (menucmd "M=$(edtime,$(getvar,date),华星切割YYYY-MO-DD-HH-MM-SS)"))  ;块名称 固定前缀+时间
  34.                         (setq ssbox (zg-GetSSBoundingbox ss))
  35.                         (setq basept (apply 'mapcar (cons (function (lambda (a b) (/ (+ a b) 2))) ssbox)))
  36.                         (if (tblsearch "layer" "DIM")
  37.     (if (/= (getvar "clayer")"DIM")
  38.         (setvar "clayer" "DIM")
  39.     )
  40.     (progn
  41.       (command "_layer" "n" "DIM" "")
  42.       (setvar "clayer" "DIM")
  43.     )
  44.   )
  45.                         (command "_.block" blkname "non" basept ss "");创建块并删除创建块的对象
  46.                         (setq inspt basept)
  47.                         (command "_.insert" blkname "x" 1 "y" 1 "z" 1 "r" 0 "non" inspt);插入块
  48.                 )
  49.         )
  50.         (command "_undo" "e")
  51.         (setvar "cmdecho" 1)
  52.         (princ)
  53. )
  54. (PROMPT "<<<========C:JK 快速建块 固定前缀+时间========>>>")
  55. (princ)
复制代码

 

 

 

 

块名称:固定前缀+时间  ==快速建块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-10-27 08:38 , Processed in 0.149724 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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