AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

Join the forum, it's quick and easy

AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Io15011 [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... 2020-310 [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Oiu15010 [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... 2020-211 [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Oo-2-110 [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... BPl3tjj

[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸...

4 posters

向下

[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Empty [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸...

發表 由 edmondsforum 2021-04-01, 11:31

這個LISP(DCDD)是我從國外網站找到的,他原本是為了高程(Y軸)標示,
如下動畫所示

https://gph.is/g/4V8bVvo

DCDD:
代碼:
;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=56086&pid=171947&st=0&#entry171947
;;;;;;  https://www.youtube.com/watch?v=3-i4i1p3cwM

(defun c:dcdd (/ lstSS txtstr p1 p2 listname txt txt1 ss)
(vl-load-com)

(defun acet-ss-to-list (ss / n e l)
  (setq n (sslength ss))
  (while (setq e (ssname ss (setq n (1- n))))
 (setq l (cons e l))
  )
)



;Gan gia tri goc
(if (not k0) (setq k0 1));;gan gia tri goc
(setq k (getreal (strcat "\nDrawing Ratio:1/" (rtos k0 2 0) "")));Nhap ty le ban ve
(if (not k) (setq k k0) (setq k0 k))  
(defun dowith(lstSS / lstSS en str)
(cond  ((setq en  (car (vl-remove-if-not '(lambda(x)(wcmatch (cdadr (entget x))"*TEXT")) lstSS)))(setq str (acet-dxf 1 (entget en)) en (vlax-ename->vla-object en)))
  ((setq en (car (vl-remove-if-not '(lambda(x)(and (wcmatch (cdadr (entget x))"INSERT")(= (acet-dxf 66 (entget x)) 1))) lstSS)))
   (setq str (vla-get-textstring (setq en(car (vlax-invoke (vlax-ename->vla-object en) 'GetAttributes)))))
  )
)
(cons en str)
)
(grtext -1 "Edit By Nguy\U+1EC5n Ng\U+1ECDc S\U+01A1n")
(setq  lstSS (acet-ss-to-list (setq ss (ssget)))
  obj (car (setq en (dowith lstSS)))
  str (cdr en)
  p1 (getpoint "\nBase Point:")
  eL (entlast)
 oDz (getvar "Dimzin")
)
(setvar "DIMZIN" 0)
(while (setq p2 (getpoint p1 "\nNext Point:"))
(command "copy" ss "" p1 p2)
(while (setq EL (entnext EL)) (setq Listname (cons EL Listname)))
(setq  Txt1 (car (dowith listName))
  eL (entlast)
)
(Ktra)
(setvar "cecolor" "bylayer")  
(vla-put-textstring txt1
(strcat (cond ((> (setq num (+ (atof str) (/ (- (cadr p2)(cadr p1)) k))) 0) "0K+")
 ((= num 0) "%%p")
 (T "")
   )
(rtos num  2 2));So chu so dau dau ;
)
)
(setvar "DIMZIN" oDZ)
)
;Tim va tao moi Layer
(defun ktra ()
(if (not (tblsearch "layer" "Caodo"))
 (command "-LAYER" "m" "Caodo" "c" 1 "Caodo" "" )
 (setvar "clayer" "Caodo" )

我主要的目的是希望X軸也可以跑出數據
影片當中我有使用 "CPT" 這個是可以針對兩點的距離跑出數據,但可惜的是他無法加上我要的文字,例如0K+ 和 小數點取兩位(四捨五入)
所以希望能把 CPT的LISP功能,可以置入去 DCDD這個LISP

以下是CPT的LISP
CPT:
代碼:
(defun c:cpt (/ ss a b dis eg)
  (setq ss (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "*TEXT"))))))
a (getpoint "\nBase Point:")
  )
  (setvar 'cmdecho 0)
    (while (setq b (getpoint a  "\nNext Point:"))
    (setq dis (distance a b))
    (princ (strcat "" (rtos dis)))
    (foreach v ss
      (command "copy" v "" "non" a "non" b)
      (setq  eg (entget (entlast)))
      (entmod (subst (cons 1 (rtos (+ dis (atof (cdr (assoc 1 eg)))))) (assoc 1 eg) eg))
    )
  )
  (setvar 'cmdecho 1) (princ)
)

在拜託大神幫幫我
edmondsforum
edmondsforum
一般會員
一般會員

文章總數 : 17
年齡 : 31
來自 : 台中
職業 : 水保顧問
愛好 : 電玩
個性 : 隨和、
使用年資 : 2年
使用版本 : autocad 2008 ,autocad 2017
經驗值 : 1628
威望值 : 0
注冊日期 : 2017-07-11
男 白羊座 馬

回頂端 向下

[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Empty 回復: [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸...

發表 由 Atsai 2021-05-03, 22:02

[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Ddx10

如果是樓主需要的,留言回覆吧!
附件
[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Attachment
ddx_文字動態樁號.zip 指令:ddx您無權下載這里的附件。(7 Kb) 下載 0 次
[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Attachment
ddy_文字動態標高.zip 指令:ddy您無權下載這里的附件。(6 Kb) 下載 1 次


Atsai 在 2021-08-20, 19:28 作了第 1 次修改
Atsai
Atsai
中級會員
中級會員

文章總數 : 147
年齡 : 46
來自 : 台中
職業 : 工程
愛好 : 看漫畫
個性 : 樂天
使用年資 : 10
使用版本 : 2010
AutoCAD基礎篇等級 : 10星級
積分 : 8
經驗值 : 4599
威望值 : 446
注冊日期 : 2012-04-06
男 金牛座 兔

yifeng.h likes this post

回頂端 向下

[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Empty 回復: [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸...

發表 由 yifeng.h 2021-08-19, 16:55

畫縱斷面很需要,期待前輩分享
yifeng.h
yifeng.h
一般會員
一般會員

文章總數 : 22
年齡 : 40
來自 : 台南
職業 : 土木工程師
愛好 : 電影,程式設計
個性 : 隨和
使用年資 : 10年
使用版本 : 2012
經驗值 : 4320
威望值 : 27
注冊日期 : 2010-03-23
男 白羊座 雞

回頂端 向下

[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Empty 我也想要感謝

發表 由 閃電俠 2021-08-20, 09:11

[quote="Atsai"][討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Ddx10
我也想要感謝
閃電俠
閃電俠
一般會員
一般會員

文章總數 : 21
年齡 : 38
來自 : 新竹
職業 : Package Design
愛好 : 玩電腦
個性 : 喜愛思考
使用年資 : N+5years
使用版本 : 初學
經驗值 : 263
威望值 : 2
注冊日期 : 2021-04-19
Other / Decline to state 摩羯座 狗

回頂端 向下

[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Empty 回復: [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸...

發表 由 Atsai 2021-08-21, 15:20

檔案上傳在上面的帖子裏了。
Atsai
Atsai
中級會員
中級會員

文章總數 : 147
年齡 : 46
來自 : 台中
職業 : 工程
愛好 : 看漫畫
個性 : 樂天
使用年資 : 10
使用版本 : 2010
AutoCAD基礎篇等級 : 10星級
積分 : 8
經驗值 : 4599
威望值 : 446
注冊日期 : 2012-04-06
男 金牛座 兔

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Uos15010 [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... BPl3tjj [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Ziao1510 [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Oo-2-110 [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... Oooo-110 [討論]我有一個LISP可以根據Y軸增量,給予高程標示,但我想改成X軸... 2020-211