yangchao2005090 发表于 2021-8-19 09:16:19

请问一下,这个线型编辑器生成的线型文件lin文件存放在哪个地方啊

lee50310 发表于 2021-8-19 11:36:34

本帖最后由 lee50310 于 2021-8-24 08:50 编辑

yangchao2005090 发表于 2021-8-19 09:16
请问一下,这个线型编辑器生成的线型文件lin文件存放在哪个地方啊
如果你設定一個新線型 則新線型格式 會暫存在 程式的變數 ltdef內

例: 查看變數內容   可在cad 的 Connand: !ltdef按Enter

回應: "\n*USER,--- - ---BE--- - ---BE--- - ---BE--- - ---\nA,4.375,-1.25,1.25,-1.25,4.375,-1.91467,[\"BE\",Standard,S=1.5,R=0.0,X=-1.26467,Y=-0.75],-1.91467"











yangchao2005090 发表于 2021-8-19 20:09:56

您好,这个还是出错,能否帮忙修改一下,代码里面有来源链接

aihuyujian 发表于 2021-8-20 09:15:59

这真是个好东西

lee50310 发表于 2021-8-20 11:49:13

本帖最后由 lee50310 于 2021-8-20 11:52 编辑

yangchao2005090 发表于 2021-8-19 20:09
您好,这个还是出错,能否帮忙修改一下,代码里面有来源链接
原程式錯一個地方及少了一個函數

幫你修正補齊,這樣就可以了

yangchao2005090 发表于 2021-8-20 14:54:51

lee50310 发表于 2021-8-20 11:49
原程式錯一個地方及少了一個函數

幫你修正補齊,這樣就可以了

谢谢,但好像还是不能用

yangchao2005090 发表于 2021-8-20 15:02:32

;;http://bbs.mjtd.com/thread-183496-1-1.html
(defun c:tt (/ cmde lst p1 ss ss1)
      (setq cmde (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)
      (prompt "\n框选需要合并的表格:")
      (while (setq ss (ssget))
                (setq lst (reverse (wyb-get-box ss)))
                (setq p1 (caar lst) lst (cdr lst))
                (if (/= lst nil)
                        (foreach x lst
                              (setq ss1 (ssget "w" (car x) (cadr x)))
                              (vl-cmdf "_.move" ss1 "" "non" (list (caar x) (cadadr x)) "non" p1)
                              (setq p1 (polar p1 (* 1.5 pi) (distance (car x) (list (caar x) (cadadr x)))))
                        )
                        (prompt "\n没有需要合并的表格。")
                )
                (prompt "\n框选需要合并的表格:")
      )
      (setvar "CMDECHO" cmde)
      (prompt "\n表格合并完成!")
      (princ)
)

;|= 4.2. 取得图元外矩形框
;@== (wyb-get-box ename)
;#== return: '((x1 y1 z1)_min (x2 y2 z2)_max)
;ver:
;    明经 Longxin, Gu_xl&邹锋
;    by woyb 20151010
;    ADD: 释放obj by woyb 20180730
;====================|;
(defun wyb-get-box (@e / p1 p2 p3 p4 obj lst tmp)
    (setq obj (vlax-ename->vla-object @e))
    (if (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-getboundingbox (list obj 'p1 'p3))))
      (progn
            (setq p1 (vlax-safearray->list p1)
                p3 (vlax-safearray->list p3)
                p2 (list (car p1) (cadr p3) (caddr p1))
                p4 (list (car p3) (cadr p1) (caddr p1))
            )
            (if (= "SPLINE" (cdr (assoc 0 (entget @e))))
                (progn
                  (setq lst
                        (mapcar '(lambda(a b) (vlax-curve-getClosestPointToProjection @e a b t))
                            (list p1 p2 p3 p4)
                            '((1.0 0 0) (0 -1.0 0) (-1.0 0 0) (0 1.0 0))
                        )
                  )
                  (setq tmp
                        (list
                            (apply 'mapcar (cons 'min lst))
                            (apply 'mapcar (cons 'max lst))
                        )
                  )
                )
                (setq tmp (list p1 p3))
            )
      )
      (setq tmp nil)
    )
    (vlax-release-object obj)
    tmp
)

lee50310 发表于 2021-8-20 18:24:14

本帖最后由 lee50310 于 2021-8-24 16:50 编辑

yangchao2005090 发表于 2021-8-20 14:54
谢谢,但好像还是不能用


我下載 11-new.lsp在cad2018 測試 皆 ok

你測試時要用原版主 ,所提供的 表格圖檔來測試 才能正確合併
不能用一般的表格圖檔測試 會失敗!
因為原版主的表格圖檔每一個表圖框格是獨立 (你可以用滑鼠點點看便知)
跟一般的表格是不一樣的






yangchao2005090 发表于 2021-8-20 18:26:08

lee50310 发表于 2021-8-20 18:24
我下載 11-new.lsp在cad2018繁體版測試 皆 ok

你測試時要用原版主 ,所提供的 表格圖檔來測試...

哦,明白了,我是说我的表格怎么不行呢,谢谢哈

yangchao2005090 发表于 2021-8-20 18:28:14

本帖最后由 yangchao2005090 于 2021-8-20 18:51 编辑

还想请您帮个忙,看这个能不能帮忙加一个文字样式啊,比如文字样式名为ZB坐标
页: 1 2 [3] 4 5
查看完整版本: ***** 快速好用 自定 線型文字編輯器 *****