autoCAD裡的程式設計autolisp

時間 2021-06-11 15:20:59

1樓:

看你的目標了,不過你作為乙個工程師,我想先把主要精力放到lisp上沒錯的,lisp作為表處理為特徵的人工智慧語言,有很多的優勢,尤其acad下面,autocad在最初最先支援的程式語言就是autolisp,現在發展成visual lisp。 autolisp功能強大,能很好的處理acad圖形資料庫大多數的內容,並且易學,尤其作為乙個初學者,acad下其他的如arx等並不適合,這些內容等你把lisp學的更深入後,尤其是對acad圖形資料庫有更深刻的了解後,在根據自己的實際情況去決定是否去學。 我建議你多用些時間去學些程式設計方面的知識,掌握程式設計基本的一些原理,比如基本的程式結構,如選擇,迴圈等,在多學些autolisp下的函式,多結合實際工程中遇到的問題多寫,另外多看其他人寫的**,會進步很快的。

就先說這些。

如何在autocad中用選單載入autolisp程式

2樓:小哥丶愛大家

這個裡面說的很詳細,自己去看看吧,你一定會學會的!

3樓:幹笛

用 ap 命令,一看就明白的

4樓:

工具---載入應用程式

cad考試:用autolisp程式設計 20

5樓:

(defun c:***()

(setvar "cmdecho" 0)

(setq pt1 (getpoint " \n 第一點:"))

(setq pt2 (getpoint pt1 " \n 第二點:"))

(setq ll (distance pt1 pt2)) ;計算兩點間距離

(setq ang (angle pt1 pt2)) ;計算兩點間角度

(setq pt3 (polar pt2 (+ ang (/ (* 120 pi) 180)) ll)) ;計算三角形第三點座標

(command "polygon" 3 "e" pt1 pt2) ;繪製三角形

(prin1))

6樓:匿名使用者

要求這麼清楚,函式這麼明確,還不會??

在auto cad中關於vba或auto lisp進行程式設計,畫出三角形。

7樓:朱正偉

(defun c:3jx (/ @os4 #os #cm @p1 #os1 #os2 #os3 #l1 #l2 #l3 #lh #th #ar)

(setq #cm (getvar "cmdecho"))

(setvar "cmdecho" 0)

(setvar "blipmode" 0)

(if (null @os4) (setq @os4 '(500.0 500.0)) )

(setq @p1 (getpoint "\n請輸入三角形左下角的點或缺省座標點(500.0,500.0)"))

(if (null @p1) (setq @p1 @os4) (setq @os4 @p1) )

(if (null #os1) (setq #os1 300.0) )

(if (null #os2) (setq #os2 400.0) )

(if (null #os3) (setq #os3 500.0) )

(setq #l1 (getdist @p1 (strcat "\n請輸入三角形底邊長度:<" (rtos #os1 2) ">")))

(setq #l2 (getdist @p1 (strcat "\n請輸入三角形左邊直線的長度:<" (rtos #os2 2) ">")))

(setq #l3 (getdist @p1 (strcat "\n請輸入三角形右邊直線的長度:<" (rtos #os3 2) ">")))

(if (null #l1) (setq #l1 #os1) (setq #os1 #l1) )

(if (null #l2) (setq #l2 #os2) (setq #os2 #l2) )

(if (null #l3) (setq #l3 #os3) (setq #os3 #l3) )

(if (and (> (+ #l1 #l2)) (> (+ #l2 #l3) #l1) (> (+ #l1 #l3) #l2))

(progn

(setq #lh (/ (area3 #l1 #l2 #l3) #l1 0.5))

(setq #th (sqrt (- (sqr #l2) (sqr #lh))))

(if (= #th 0) (setq #ar (/ pi 2)) )

(if (> #th 0) (setq #ar (atan (/ #lh #th))) )

(setq #lh (-(sqr #l3) (+ (sqr #l1) (sqr #l2))))

(if (> #lh 0) (setq #ar (- pi #ar)) )

(setq @p2 (polar @p1 #ar #l2))

(setq @p3 (polar @p1 0 #l1))

(setq #os (getvar "osmode"))

(setvar "osmode" 0)

(command "_.pline" @p1 @p2 @p3 "c")

(setvar "osmode" #os)

)(princ "\n三條邊長無法繪製有效的三角形!")

)(setvar "cmdecho" #cm)

(princ)

) (prompt "\n《c:3jx.lsp》根據三邊畫三角形")

(prin1)

(defun sqr (xx)

(* xx xx)

);;數值平方

(defun area3 (a b c)

(sqrt (* (* 0.5 (+ a b c)) (- (* 0.5 (+ a b c)) a) (- (* 0.

5 (+ a b c)) b) (- (* 0.5 (+ a b c)) c)))

);;三角形三邊求面積

cad:運用autolisp語言程式設計繪製下列圖形 100

8樓:

(defun c:aaa () (setq yd (getpoint "select first point")

dd1 (list (car yd) (+ 80 (cadr yd)))

dd2 (list (+ 120 (car yd)) (+ 80 (cadr yd)))

dd3 (list (+ 120 (car yd)) (cadr yd))

y1 (list (+ 20(car yd)) (+ 20 (cadr yd)))

r1 10

y2 (list (+ 110(car yd)) (+ 70 (cadr yd)))

r2 5)

(command "pline" yd dd1 dd2 dd3 "c")

(command "circle" y1 r1)

(command "circle" y2 r2)

(princ))

誰能幫我解讀一下下面的autolisp**?(autocad二次開發方面的)

9樓:匿名使用者

1、引數為了傳遞錯誤資訊的,本例中沒有用到,所以傳遞nil。

2、當命令活動時,繼續命令狀態

3、可以寫成子函式,看程式設計習慣,如果你編了程式,又有問題,可以發給我,幫你看看。

[email protected]

10樓:手機使用者

autolisp功能要強很多

但vba擴充套件性要好些

推薦用dotnetarx做,功能強大,而且簡單易學

cad開發人員 高手請進 autolisp/visual lisp 程式設計技術

11樓:匿名使用者

你看看這個你能不能用?

(defun c:jjx (/ a d p n )

(setq no1 0.4) ;0.4是線寬,自己修改

(while (setq a (entsel "\n選擇多義線 : ")) (cg1)

(setq d (vlax-ename->vla-object (car a))

p (vlax-curve-getclosestpointto d (trans (cadr a) 1 0))

n (fix (vlax-curve-getparamatpoint d p))

) (vlax-invoke-method d 'setwidth n no1 no1)

) )(defun cg1 ( )

(setvar "cmdecho" 0)

(command "change" a "" "p" "lt" "x17" "");x17是線型名,自己修改。

(prin1))

各位大神,AUTO CAD設定裡怎麼設定工程標註,符合機械製圖示準那種,謝謝了

格式 標註樣式 新建 基礎樣式選iso 25 然後自己設吧 小木殺 給你傳送一份標準的模版吧,希望可以幫助你,留下郵箱 auto cad機械製圖時對線條和標註都有哪些規定? 如果按照機械製圖示準來的話,粗線0.6,細線為粗線的三分之一,也就是0.2 但在cad中如果按這樣設定,列印出來後粗線會顯得很...

怎麼我在AUTO CAD2019裡畫圓,然後在圓裡找中心點,怎麼找不到啊

autocad裡快捷命令c就是畫圓,找圓的中心點你必須開啟物件捕捉才能找到,物件捕捉開關在cad介面的下面,將滑鼠放在那些圖示上就會有正交 捕捉等字樣出現。另外這裡有一些快捷命令 c畫圓 l直線 a圓弧 e刪除 co複製 tr修剪 f倒圓角 br打斷 gr系統設定 rec正 長方形 ddi直徑標註 ...

CAD在圖框裡如何畫圖,AUTOCAD中如何畫圖框???

九廷謙談琬 要麼找個 有圖框的檔,copy進去 要麼就自己畫 然後另存為dwt模板。佈局裡也差不多,只是在佈局裡你還得加視口。 你可以不去考慮圖框啊 列印的時候你可以通過 列印範圍 視窗 來選擇你要列印的範圍,也就是你所說的2500 1200,可以畫兩條線用來捕捉,要注意a3與a4的紙張選擇,還有注...