當前位置:編程學習大全網 - 源碼下載 - 三維視圖中對角線的去除方法

三維視圖中對角線的去除方法

所有的設計都需要繪圖,因為工程師不可能完全記住自己設計的所有細節(哪怕是簡單的細節),文字記錄也不完整,所以圖形表達是唯壹的方式。這些圖紙首先給設計師本人看,是為了記憶和研究設計思路;其次給其他工程師,為了互相討論交流,最後給廠家,為了把設計意圖變成實物。在整個設計過程中,毫無疑問,最初的想法是壹個三維(3D)實體。

在CAD中畫出三維實體後,可以觀看,也可以剪成圖片,美觀直觀,但很多信息無法傳遞。所以把壹個三維實體變成三視圖是最實用的,三視圖可以反映三維實體各部分的詳細信息。如何將繪制的三維實體以三視圖的形式表現出來,是很多畫家頭疼的問題。參照平面上的三維實體壹步壹步畫當然可以,但是費時費力,往往容易漏掉很多信息。

那麽,可以在AutoCAD中直接將3D實體轉換成3D視圖嗎?答案是肯定的。下面我就詳細介紹壹下這個操作——三維立體轉三視圖。在這裏,我用了壹個我編譯的LISP小程序,我給妳源代碼。可以自己修改壹下,適合自己,更快的提高自己的繪畫水平。

有兩個附件:

三石. lsp

(DEFUN c:sa()

(setq dcl_id (load_dialog“石三”))

(new_dialog“石三”dcl_id)

(action _ tile " sansh _ cf " "(done _ dialog 1)")

(action _ tile " sanh _ cf 1 " "(done _ dialog 2)")

(action _ tile " sansh _ cf2 " "(done _ dialog 3)")

(action _ tile " sansh _ cf3 " "(done _ dialog 4)")

(action _ tile " sansh _ zds " "(done _ dialog 5)")

(setq sansh_done_id (start_dialog))

(如果(& gtsansh _ done _ id 0)

(程序

(cond ((= 1 sansh_done_id)

(sanshm_cf)

)

((= 2 sansh_done_id)

(sanshm_cf1)

)

((= 3 sansh_done_id)

(sanshm_cf2)

)

((= 4 sansh_done_id)

(sanshm_cf3)

)

((= 5 sansh_done_id)

(sanshm_zds)

)

)

)

)

(princ)

)

;;

;;;-

;;;功能:cf

;;;-

;;;編制日期:2008.11.26

;;;編譯:曾敏慧

;;;描述:該功能用於將實體復制到前視圖中。

;;;-

(Defun sanshm_CF (/ s1 s2)

(prince " \請輸入實體的復制基準XY平面:")

(命令" _ucs" "_fa" pause pause " ")

(prince " \請輸入實體的復制基準點:")

(SETQ S1 (GETPOINT))

(塞奇S2公司)

(命令" _copybase" S1 S2 " ")

(命令“_-view”“_ top”)

(命令“_pasteclip”)

(prin1)

)

;;;-

;;;功能:CF1

;;;-

;;;編制日期:2008.11.26

;;;編譯:曾敏慧

;;;描述:這個函數將復制對象並向右旋轉。

;;;-

(DEFUN sanshm _ cf 1(/ENTGRP pt 1 pt2 L)

(prince " \請選擇需要復制並向右旋轉的對象:")

(SETQ ENTGRP (SSGET))

(prince " \請選擇主視圖的基點:")

(SETQ pt1 (GETPOINT))

(prince " \請選擇右視圖的基準點:")

(設置點pt2(獲取點))

(命令“_”。COPYBASE" pt1 ENTGRP " ")

(命令" _pasteblock" pt2 " ")

(SETQ L (entlast))

(命令" rotate3d" L "" "Y" pt2 "-90 ")

(命令" EXPLODE" L " ")

(princ)

);;;_ End默認

;;;-

;;;功能:CF2

;;;-

;;;編制日期:2008.11.26

;;;編譯:曾敏慧

;;;描述:這個函數將復制和旋轉物體向下看。

;;;-

(DEFUN sanshm _ CF2(/ENTGRP pt 1 pt2 L)

(prince " \請選擇需要復制和旋轉的對象進行查找:")

(SETQ ENTGRP (SSGET))

(prince " \請選擇主視圖的基點:")

(SETQ pt1 (GETPOINT))

(prince " \請選擇仰視圖的基點:")

(設置點pt2(獲取點))

(命令“_”。COPYBASE" pt1 ENTGRP " ")

(命令" _pasteblock" pt2 " ")

(SETQ L (entlast))

(命令" rotate3d" L "" "X" pt2 "-90)

(命令" EXPLODE" L " ")

(princ)

);;;_ End默認

;;;-

;;;功能:CF3

;;;-

;;;編制日期:2008.11.26

;;;編譯:曾敏慧

;;;描述:這個函數將復制對象並向左旋轉。

;;;-

(DEFUN sanshm _ CF3(/ENTGRP pt 1 pt2 L)

(prince " \請選擇需要復制並向左旋轉的對象:")

(SETQ ENTGRP (SSGET))

(prince " \請選擇主視圖的基點:")

(SETQ pt1 (GETPOINT))

(prince " \請選擇左視圖的基點:")

(設置點pt2(獲取點))

(命令“_”。COPYBASE" pt1 ENTGRP " ")

(命令" _pasteblock" pt2 " ")

(SETQ L (entlast))

(命令" rotate3d" L "" "Y" pt2 "90 ")

(命令" EXPLODE" L " ")

(princ)

);;;_ End默認

;;;-

;;;功能:ZDS

;;;-

;;;編制日期:2008.11.26

;;;編譯:曾敏慧

;;;描述:從繪制的三維地圖自動生成三視圖。

;;;-

(defun sanshm_zds (/ ssg1)

(SETVAR "CMDECHO" 0)

(prince " \請選擇壹個組合以生成三視圖:")

(setq SSG 1(ss get));;生成布局選項

(命令"布局" " s " " ")

(prince " \正在生成三個視圖,請稍候...")

(命令“mspace”)

(命令" _solprof" ssg1 "" "Y" "Y" "N ")

(prince " \已生成三個視圖")

(命令“模型”)

(princ)

);;;_ End默認

三石. dcl

dcl_settings:默認dcl_settings {

audit _ level = 0;

}

石三:對話

Label = "三視圖工具";

spacer _ 1;

:列{

children _ fixed _ width = true

fixed _ width = true

寬度= 5;

:按鈕{

fixed _ width = true

key = " sansh _ cf

Label = "1。將實體復制為俯視圖";

寬度= 10;

}

:按鈕{

key = " sanh _ cf 1 ";

Label = "2。將對象復制為右視圖”;

}

:按鈕{

key = " sansh _ cf2

Label = "3。復制要查找的對象”;

}

:按鈕{

key = " sansh _ cf3

Label = "4。將對象復制為左視圖”;

}

:按鈕{

key = " sansh _ zds

Label = "5。畫物體三視圖”;

}

}

spacer _ 1;

:文本{

對齊=居中;

Label = "學以致用真有趣!";

}

:文本{

對齊=居中;

Label = "設計師:曾敏慧";

}

取消_按鈕;

}

如何使用:

1.復制上述兩個文件,並以相應的文件名保存:

三石. lsp

三石. dcl

保存到AutoCAD支持的路徑。

2.用appload加載sanshi.lsp。

3.以sa身份運行命令(您可以自己修改)。

操作步驟:

  • 上一篇:求助?怎麽在通達信軟件上統計幾天幾個漲停板
  • 下一篇:《魔獸》講了什麽?如何評價?
  • copyright 2024編程學習大全網