1樓:
(setq pt (list 0 0));起點(setq pt2 (list 0 100));終點(setq pt3 (list 10 50));文字位置(command "dimlinear" pt pt2 pt3 "")
2樓:匿名使用者
在auto lisp程式中呼叫autocad尺寸標註命令。
cad lisp 求助一段**實現自動標註!
3樓:匿名使用者
(defun c:autodimlines ()
(setq ss (ssget '((0 . "line"))))
(setq number (sslength ss))
(setq i 0)
(repeat number
(setq entname (ssname ss i))
(setq ent (entget entname))
(setq point_a (cdr (assoc 10 ent)))
(setq point_b (cdr (assoc 11 ent)))
(setq d (* -0.2 (distance point_a point_b)))
(command "dimaligned" point_a point_b point_b)
(setq ent (entget(entlast)))
(setq x1 (car point_a) y1 (cadr point_a) x2 (car point_b) y2 (cadr point_b))
(setq point (calculate_dalposition x1 y1 x2 y2 d))
(entmod (subst (cons 10 point) (assoc 10 ent) ent) )
(setq i (+ i 1))))
(defun calculate_dalposition (x1 y1 x2 y2 d)
(if (/= (- y2 y1) 0)
(progn
(setq k (/ (- x1 x2) (- y2 y1)) )
(setq thita (atan k))
(if (< thita 0)
(setq thita1 (+ 3.1415926 thita) thita2 (* -1 thita))
(setq thita1 thita thita2 thita)
)(setq x (- x2 (* d (cos thita1))))
(setq y (- y2 (* d (sin thita2))))
(list x y)
)(progn
(setq y (- y2 d) x x2)
(list x y)))
)不知道cad能執行不 浩辰 可以
4樓:匿名使用者
使用天正 有自動標註功能啊
大神請教個問題:我想用lisp改變已有的標註樣式 的標註線 和文字的顏色 lisp 該怎麼寫呢?
5樓:
;改顏色隨層子程式
(defun c:tt1(/ ss)
(princ "顏色改為隨層")
(if (setq ss (ssget))(progn
(princ (strcat (itoa (sslength ss)) "個物件的顏色改為隨層"))
(command "change" ss "" "p" "c" "bylayer" "")
);if
(princ)
6樓:淘蜂農
(defun c:gs(/ ss)
(princ "圖層顏色隨層")
(setq ss (ssget))
(command "change" ss "" "p" "c" "bylayer" ""))
麻煩看下cad怎麼改標註尺寸字型大小
7樓:朱正偉
可以在屬性裡面修改標註高度;
可以用autolisp外掛修改文字高度。
8樓:怪怪
標註樣式裡面有文字,修改文字高度就可以
如何用autolisp控制尺寸標註的箭頭不顯示,怎麼用autolisp設定半徑標註的箭頭在圓弧內部,如何控制公差
9樓:
(setq p4 (polar p0 (+ ang (/ pi 1.5)) 1.2 h1))有問題,你要的是不是(setq p4 (polar p0 (+ ang (/ pi 1.
5)) (*1.2 h1)))
(command "text" p4 "h" 0 )也不對,我想你要的是(command "text" p4 h 0 txt )
求助cad二次開發lisp 關於尺寸標註的 補充裡有問題截圖 謝謝 10
10樓:朱正偉
寫了一個autolisp程式。
(defun c:tes ( / dis1 p1 p2 p3 p5 p6)
(vl-load-com)
(if (null a40) (setq a40 300.0) )
(if (null d) (setq d 424.0) )
(if (null a7) (setq a7 (cons 7 (getvar "textstyle"))) )
(if (null a1) (setq a1 "%%p0.000") )
(if (null fx1) (setq fx1 "w") )
(setq p1 t)
(while p1
(while (and (setq p1 (s1712121)) (= (type p1) 'str))
(cond
((= p1 "1") (setq a40 (s1712122 a40 (strcat "\n請輸入文字高度預設<" (rtos a40 2) ">"))) )
((= p1 "2") (setq dis1 (s1712122 d (strcat "\n請輸入三角形長度預設<" (rtos d 2) ">"))) )
((= p1 "3") (setq a1 (s1712123 a1)) );文字內容
((= p1 "4") (setq fx1 (s1712124 fx1)) )
));while2
(if (car p1)
(progn
(setq dis1 (caadr (textbox (list '(0 . "text") (cons 1 a1) (cons 40 a40) (cons 41 0.7) a7))))
(setq p2 (polar p1 (* pi 0.25) d))
(entmake (list '(0 . "line") (cons 10 p1) (cons 11 p2)))
(setq p3 (polar p1 (* pi 0.75) d))
(entmake (list '(0 . "line") (cons 10 p1) (cons 11 p3)))
(if (= fx1 "w")
(setq p5 (polar p3 pi dis1) p6 (polar p5 (* pi 0.5) (/ a40 3)))
(setq p5 (polar p2 0 dis1) p6 (polar p2 (* pi 0.5) (/ a40 3)) p2 p3)
)(entmake (list '(0 . "line") (cons 10 p2) (cons 11 p5)))
(entmake (list '(0 . "text") (cons 10 p6) (cons 1 a1) (cons 40 a40) (cons 41 0.7) a7))))
);while;1
(princ)
);輸入插入點
(defun s1712121 ( / p1)
(initget "1 2 3 4 e")
(if (setq p1 (getpoint "\n請輸入插入點[輸入文字高度(1)/輸入三角形高度(2)/輸入文字內容(3)/改變方向(4)/退出(e)]"))
(if (= (type p1) 'str) (setq p1 (strcase p1)) )
)(if (= p1 "e") (setq p1 nil) )p1)
;輸入文字高度
(defun s1712122 (dis1 tr / dis dis1 tr)
(initget 6)
(if (setq dis (getdist tr))
(setq dis1 dis)
)dis1
);輸入文字內容
(defun s1712123 (a1 / a1 tr1)
(if (setq tr1 (getstring (strcat "\n請輸入文字內容<" a1 ">")))
(setq a1 tr1))a1
);確認方向
(defun s1712124 (fx1 / fx fx1)
(initget "w a")
(if (setq fx (getkword (strcat "\n請確認方向[西(w)/東(a)]:<" fx1 ">"))) (setq fx1 (strcase fx)) )
fx1)
autolisp 關於怎麼替換標註的文字
11樓:朱正偉
文字內容**為1
(defun c:b1()
(setq gj_list_32 (entget (car (entsel)))
gj_text_old_32 (assoc 1 gj_list_32)
gj_text_new_32 (cons 1 "%%1308@200(2)") ;用於8間距200,一級鋼
gj_list_32 (subst gj_text_new_32 gj_text_old_32 gj_list_32)
(entmod gj_list_32)
(princ)
(setq &k1 (entsel "\n請選擇文字"))
(if (/= &k1 nil);如果有選擇
(progn
(setq #k1 (entget (car &k1));取得屬性列表
%k (cdr (assoc 0 #k1));取得圖元名
)(if (= %k "text");如果是文字
(progn
(setq %k1 (assoc 1 #k1);取得內容元素
%k2 (cons 1 "%%1308@200(2)");文字替換內容
#k1 (subst %k2 %k1 #k1);替換
)(entmod #k1);重新整理))
))(prin1))
autolisp 畫圖 5
12樓:匿名使用者
(defun c:test (/ pt1 pt2)(setq pt1 (getpoint "\n請輸入矩形中心點:")pt2 pt1
)(repeat 10
(setq pt1 (list (- (car pt1) 5) (- (cadr pt1) 5)))
(setq pt2 (list (+ (car pt2) 5) (+ (cadr pt2) 5)))
(command ".rectang" "non" pt1 "non" pt2)))
cad如何標註尺寸?CAD怎麼標註尺寸
利用快速標準命令可以在cad軟體中迅速標註多個尺寸,具體操作請參照以下步驟。1 在電腦上開啟cad軟體,然後繪製一個圖形。2 然後輸入qdim命令,按回車鍵。框選要標註的圖形,選定完物件後向要標註的一側拖動游標。3 然後將尺寸拖動到指定位置後單擊,即可同時完成這些尺寸的標註。軟體簡介 autocad...
cad怎麼改標註尺寸,CAD尺寸標註怎麼改變標註數字大小
3全部如果是天正直接雙擊1800那個數字,就可以修改了,cad也是雙擊,會出現一個特性編輯欄,在裡面的 文字 測量單位,修改 你的圖形不是1 1的畫法。修改尺寸兩種辦法 1 點選修改 特性 在特性面板裡找到 文字替代 輸入新尺寸。這個辦法要一個一個修改。2 在標註樣式裡 找到主單位 比例因子 輸入0...
cad中標註尺寸怎麼自己打數字尺寸
用命令啟動標註,然後選文字,再輸入。如下 1.命令 dimlinear 建立線性標註 2.指定第一個尺寸界線原點 3.指定第二條尺寸界線原點 4.選取文字 t 5.輸入標註文字 6.指定標註位置 雪v歌 操作步驟 1 開啟cad軟體。2 單擊工具欄中的 標註 3 在標註樣式管理器中單擊 修改 4 在...