sdls 发表于 2019-5-15 00:14:44

本人水平有限,有求大神帮忙统编一个图形间距调整功能的!!

如题!小弟一直想要一个调整间距的功能,泡了明经也有三个月的时间了,也曾想过自己编一个,但学习断断续续!无奈还是向各位大神求助,帮忙编上一个。谢谢先!


edata 发表于 2019-5-15 00:14:45

功能示意代码
(defun get_ss_rect(ss / pt_list sn n en pt1 pt2)
(if ss
    (progn
      (setq pt_list '())
      (setq sn (sslength ss))
      (setq n -1)
      (repeat sn
        (setq en (ssname ss (setq n (1+ n))))
        (vla-getboundingbox (vlax-ename->vla-object en) 'pt1 'pt2)
        (setq pt_list (cons (vlax-safearray->list pt1) pt_list))
        (setq pt_list (cons (vlax-safearray->list pt2) pt_list))
      )
      (setq pt1 (apply 'mapcar (cons 'min pt_list)))
      (setq pt2 (apply 'mapcar (cons 'max pt_list)))
      (list pt1 pt2)
    )
)
)
(defun c:tt(/ ss ptliststartmax ptmin ptmax)   
(prompt "\n请选择一组基准对象(空格退出):")
(if(setq ss(ssget))
    (progn
      (or *g_sk_Dist* (setq *g_sk_Dist* 20))
      (setq *g_sk_Dist*(cond
                     ((getdist (strcat "\n请输入间距值(空格退出):<"(rtos *g_sk_Dist* 2 2) ">" )))
                     (*g_sk_Dist*)))
      (setq ptlist(get_ss_rect ss))
      (setq ptMax(cadr ptlist))
      (setq StartMax(+ (car ptMax) *g_sk_Dist*))
      (setq ss nil)
      (prompt "\n请选择下一组对象(空格退出):")
      (while(setq ss(ssget))
        (setq ptlist(get_ss_rect ss))
        (setq ptMin(car ptlist))
        (setq ptMax(cadr ptlist))       
        (command "_.move" ss "" (list (car ptmin) 0) (list StartMax 0))       
        (setq ptlist(get_ss_rect ss))
        (setq ptMax(cadr ptlist))
        (setq StartMax(+ (car ptMax) *g_sk_Dist*))
        (setq ss nil)
        (prompt "\n请选择下一组对象(空格退出):")
        )
      )
    )
)

ymcui 发表于 2019-5-15 09:51:16

同是五金模设计帮顶一下:lol

start4444 发表于 2019-5-15 11:47:56

论坛大把对齐的代码,无非就是计算外框+移动,自己慢慢写吧

sdls 发表于 2019-5-15 12:31:37

start4444 发表于 2019-5-15 11:47
论坛大把对齐的代码,无非就是计算外框+移动,自己慢慢写吧

伤心!!啃了一段时间的码!看得有点晕。现在只能改下别移动复制和功能!
复杂一点的就不会改了!
类似的功能LSP,也收集有一些,但都不是我要的功能!

xinxirong 发表于 2019-5-15 12:52:01

这东西太花时间了,悬赏1000几百也许有人帮你写

arcers 发表于 2019-5-15 15:16:33

天正建筑有这个功能啊

satan421 发表于 2019-5-15 15:24:41

;;pl线的话,比较好实现
;;简单写了个pl线图元的

sdls 发表于 2019-5-15 20:58:29

ymcui 发表于 2019-5-15 09:51
同是五金模设计帮顶一下

谢谢老铁!你是用什么外挂的?我用PressCAD,加个好友吧交流一下!

sdls 发表于 2019-5-15 20:59:25

arcers 发表于 2019-5-15 15:16
天正建筑有这个功能啊

谢谢你的提示,我找找看!!
页: [1] 2 3
查看完整版本: 本人水平有限,有求大神帮忙统编一个图形间距调整功能的!!