nyistjz 发表于 2024-6-22 00:31:13

图形合并位置出错

附件是写的一个合并图形的文件的小程序,
单个文件并入时,是没有问题的,可以附在我指定的位置;
但是选择多个文件时,就会出现问题,无法定位,请朋友们帮忙看一下,能否对程序进行优化;
感谢 !

xyp1964 发表于 2024-6-22 15:22:20

nyistjz 发表于 2024-6-22 13:25
大佬,竖向排列是否可以?

我按您这个逻辑试了一个竖向排列,但没有成功。
(defun c:tt2 ()
"竖向合并dwg"
(setvar "cmdecho" 0)
(if (null DTU-MultiSelectDialog)
    (command "netload"(findfile "DTU-MultiSelectDialog2013.dll"))
)
(setq ao(vlax-get-acad-object)
      ad(vla-get-activedocument ao)
      ms(vla-get-modelspace ad)
      lst (DTU-MultiSelectDialog "请选择DWG文件" "*.DWG")
      pt0 (getpoint "\n起始点<退出>: ")
)
(setq i 0)
(foreach l lst
    (setq i(1+ i)
          pt (vlax-3D-point pt0)
          e1 (vla-InsertBlock ms pt l 1 1 1 0)
    )
    (vla-getboundingbox e1 'll 'ur)
    (setq p1 (vlax-safearray->list ll)
          p9 (vlax-safearray->list ur)
          dy (- (cadr p9) (cadr p1))
    )
    (vla-move e1 (vlax-3D-point p1) (vlax-3D-point pt0))
    (setq pt0 (polar pt0 (* pi 0.5) dy))
    (princ (strcat "\n>>>第" (itoa i) "张:" l "\n"))
)
(princ (strcat "\n>>>操作结束,共合并" (itoa i) "张图。"))
(setvar "cmdecho" 1)
(princ)
)

xyp1964 发表于 2024-6-22 11:35:25

(defun c:tt ()
(setvar "cmdecho" 0)
(if (null DTU-MultiSelectDialog) (command "netload" (findfile "DTU-MultiSelectDialog2013.dll")))
(setq ao (vlax-get-acad-object))
(setq ad (vla-get-activedocument ao))
(setq ms (vla-get-modelspace ad))
(setqlst (DTU-MultiSelectDialog "请选择DWG文件" "DWG文件(*.dwg)|*.DWG" ))
(setq pt0 (getpoint "\n起始点<退出>: "))
(setq i 0)
(foreach l lst
    (setq i(1+ i)
          pt (vlax-3D-point pt0)
          e1 (vla-InsertBlock ms pt l 1 1 1 0)
    )
    (vla-getboundingbox e1 'll 'ur)
    (setq p1 (vlax-safearray->list ll)
          p9 (vlax-safearray->list ur)
          dx (- (car p9) (car p1))
    )
    (vla-move e1 (vlax-3D-point p1) (vlax-3D-point pt0))
    (setq pt0 (polar pt0 0 dx))
    (princ (strcat "\n>>>第" (itoa i) "张:" l "\n"))
)
(princ (strcat "\n>>>操作结束,共合并" (itoa i) "张图。"))
(setvar "cmdecho" 1)
(princ)
)

nyistjz 发表于 2024-6-22 13:25:24

xyp1964 发表于 2024-6-22 11:35

大佬,竖向排列是否可以?

我按您这个逻辑试了一个竖向排列,但没有成功。

cds15980954301 发表于 2024-6-22 07:00:27

捕捉关了,试下

nyistjz 发表于 2024-6-22 09:20:43

cds15980954301 发表于 2024-6-22 07:00
捕捉关了,试下

试过了,不是这个原因

muai2010 发表于 2024-6-22 09:44:11

不能用吧,缺函数

nyistjz 发表于 2024-6-22 11:32:30

muai2010 发表于 2024-6-22 09:44
不能用吧,缺函数

把附件中的NET文件加载一下就行了

nyistjz 发表于 2024-6-22 13:02:13

xyp1964 发表于 2024-6-22 11:35


大神,请受我一拜!

XPG 发表于 2024-6-22 15:22:49

感谢分享。
页: [1] 2
查看完整版本: 图形合并位置出错