cad二次開發改變線的顏色LISP

時間 2021-06-11 15:19:58

1樓:

(defun c:123 ( / gp)

(setvar "cmdecho" 0)

(setq n (getstring "\n 輸入你改變的顏色值: "))

(setq gp (ssget))

(if (/= gp nil) (command ".change" gp "" "p" "c" n ""))

(princ "\nok")

(princ)

);end

2樓:匿名使用者

(defun colorchange (colornum0 colorname0 / gp)

(setvar "cmdecho" 0)

(princ (strcat "\n★改變物件顏色為" colorname0 "★"))

(setq gp (ssget))

(if (/= gp nil)

(command ".change" gp "" "p" "c" colornum0 "")

)(princ "\nok")

)(setq colorlist (list '(1 "紅色")

'(2 "黃色")

'(3 "綠色")

'(4 "青色")

'(5 "藍色")

'(6"洋紅色"

)'(7 "白色")

'(8 "灰色")))

(foreach color colorlist

(setq colornum (car color)

colorname (cadr color)

)(set 'defunname (read (strcat "c:" (itoa colornum))))

(eval

(cons 'defun

(list defunname

()(read (strcat "(colorchange "

(itoa colornum)

"\""

colorname

"\")"))

))))

3樓:匿名使用者

(defun c:ccc()

(setq cm (getvar "cmdecho"))(setvar "cmdecho" 0)

(command "_undo" "be")(setq col (acad_colordlg 3))(if (setq ssa (ssget))(command "_chprop" ssa "" "c" col "")

)(command "_undo" "e")(setvar "cmdecho" cm)(princ))

4樓:匿名使用者

cad本身就自帶啦,你一個命令就可以解決了 何必呢? change 命令搞掂一切!

auto cad autolisp lsp 如何實現修改物件顏色? 30

5樓:shine虞雄斌

(defun change_color(/ p1 p2 ss n ent_name v_c my_color )

(vl-load-com)

(setq p1 (getpoint "選擇框選圖元的第一個角點"))

(setq p2 (getcorner p1 "選擇框選圖元的第二個角點"))

(setq ss (ssget "c" p1 p2));得到選擇的所有圖元

(setq n 0)

(repeat (sslength ss)

(setq ent_name (ssname ss n))

(setq n (+ n 1))

(setq v_c (vlax-ename->vla-object ent_name))

(setq my_color (vla-get-color v_c));得到顏色

(if (= my_color 1);如果等於紅色

(progn

(vla-put-color v_c 7);設定成白色))

(if (/= my_color 1);如果不等於紅色

(progn

(vla-put-color v_c 1);設定成紅色))

))複製到autolisp

命令欄輸入:(change_color)

純手打 給個贊吧!

autocad二次開發,如何使用lisp建立一個標註樣式?

6樓:匿名使用者

;;;新建標註樣式"tssd_100_100"

(defun ddstyle ( / sc)

(setq sc 1)

;;(setq sc (cdr (assoc 18 data))) ;繪圖比例

(setvar "cmdecho" 0)

(setvar "dimclrd" 0) ;為尺寸線、箭頭和標註引線指定顏色

(setvar "dimclre" 0) ;為尺寸界線指定顏色

(setvar "dimclrt" acwhite) ;為標註文字指定顏色

(setvar "dimdle" (* sc 100)) ;當使用小斜線代替箭頭進行標註時,設定尺寸線超出尺寸界線的距離(超出標記)

(setvar "dimexe" (* sc 100)) ;指定尺寸界線超出尺寸線的距離

(setvar "dimexo" (* sc 250)) ;起點偏移量

(setvar "dimblk" "_archtick") ;箭頭(建築標記)

(setvar "dimasz" (* sc 100)) ;控制尺寸線和引線箭頭的大小。並控制基線的大小

;;(setvar "dimcen" 0) ;圓心標記-無

;;(setvar "dimarcsym" 0) ;弧長符號-前輟

;;(setvar "dimjogang" (* sc 45)) ;折彎角度

(setvar "dimtxsty" "tssd_dimension") ;指定標註的文字樣式

(setvar "dimtxt" (* sc 300)) ;指定標註文字的高度

(setvar "dimtad" 1) ;文字垂直位置(上方)

(setvar "dimjust" 0) ;文字水平位置(居中)

;;(setvar "dimtih" "off") ;線內文字對齊(與尺寸線對齊)

;;(setvar "dimtoh" "off") ;線外文字對齊(與尺寸線對齊)

(setvar "dimgap" (* sc 100)) ;文字從尺寸線偏移

;;(setvar "dimtix" "on") ;文字始終保持在尺寸界線之間

(setvar "dimtmove" 2) ;文字不在預設位置時,放在 尺寸線上方,不加引線

(setvar "dimscale" 1) ;全域性比例

;;(setvar "dimtofl" "on") ;在尺寸線之間繪製尺寸界線

(setvar "dimdec" 0) ;精度

(setvar "dimlfac" 1) ;測量比例因子

(command "-dimstyle" "s" "tssd_100_100" "" "");建立標註樣式)

cad中用lisp程式實現批量偏移複製,並要求偏移好的線變色?

7樓:匿名使用者

能說明輸入什麼樣的引數

輸出什麼樣的圖形?

變色希望是什麼效果的?

(setq cs (getvar "osmode"))

(setvar "osmode" 0 )

(setq n1 (getint "\n個數:"))

(setq d1 (getint "\n間距:"))

(setq ent1 (car (entsel "\n選取圖元:")))

(setq p1 (getpoint "\n指定要偏移的那一側上的點:"))

(setq n 1)

(repeat n1

(command "offset" d1 ent1 p1 "e" )

(setq ent1 (entget (entlast)))

(setq ent1 (subst (cons 62 n) (assoc 62 ent1) ent1 ))

(entmod ent1)

(setq n (1+ n))

(setq ent1 (entlast))

)上面是基本意思,前提是原圖形的顏色不是隨層的,點選那一側上的點時儘量遠,因為這個點沒有隨著增加的線自動變化。

8樓:匿名使用者

不必非要用lisp程式,直接offset好了。

9樓:匿名使用者

看不懂,建議選相關參考書學習。

lisp語言如何設定cad當前繪圖顏色

10樓:朱正偉

(setq #os6 (getvar "cecolor")        ;;取得當前顏色為#os6

(setvar "cecolor" "1");改變當前顏色為【紅】,顏色的數值到autocad裡面檢視。

(setvar "cecolor" #os6);顏色還原

;1.以上是一個設定方法,這個時候繪圖的話,會把圖形以設定顏色繪製。

;2.如果圖元物件已經繪製,要修改圖元顏色的話,這個圖元是ent 【如:(setq ent (entlast))】

(command "_.chprop" ent "" "color" 1 "");修改圖元顏色為【紅】;這個是直接改變顏色

什麼是CAD二次開發,CAD二次開發是什麼意思

但是如果夾有大量的運算,程式 量較大,還是以c語言為好。在autocad中能用的c語言的程式,即objectarx程式。它使用autocad一致的核心程式,均作為動態連結庫。dll執行,因此執行速度最快 執行結束自動退出記憶體,因此,記憶體的利用情況最好。提問c 如何?提問對於沒有基礎的人,如何選擇...

什麼是CMS二次開發?CMS二次開發概念

一般都會公佈api的,但是國內的幾個cms文件少得可憐,是故意不放出來的。想二次開發,必須要先看懂對方的 最好弄個phpdoc做一個文件。cms二次開發概念 dedecms系統的模板是非固定的,使用者可以在新建欄目時可以自行選擇欄目模板,官方僅提供最基本的預設模板,即是內建系統模型的各個模板,由於d...

請問怎樣利用arcgis進行二次開發

安裝arcgis10.0後,請安裝開發環境 如visual studio 如果已經有開發環境,跳過這一步直接安裝arcgis sdk及ae並授權,即可在開發環境中使用com元件來做二次開發。arcgis map server catalog scene globe都是基於arcgis object開...