我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > CAD教程 > 常見問題

在AutoCAD中對集中特殊編輯功能的開發研究

時間:2010-11-12 13:10:36 來源:未知

AutoCAD作為強大而專業的工程繪圖軟件,提供了豐富的矢量圖編輯工具,但也有一些常用的特殊編輯功能沒有提供,給交互式繪圖工作中的圖形編輯帶來了不便。例如, 在繪制地理圖時, 經常遇到繪制鐵路線;在手動矢量化過程中,為精確調整矢量圖與底圖的符合程度, 需要增加或減少多義線節點。這些功能AutoCAD缺省時無法實現,如果通過編程讓計算機自動完成上述功能,則既可提高工作效率又可減輕工程設計人員的勞動強度。

  AutoCAD軟件提供了許多開放式接口,允許用戶通過這些接口對AutoCAD進行二次開發,為AutoCAD增加新功能,以滿足用戶的工作需要。LISP語言程序就是常用的一種,在AutoCAD R14中,將編寫的LISP程序(函數)加入到ACADr14.LSP 文件中,這些函數就如同AutoCAD的基本命令一樣,非常方便。下面開發的幾個LISP函數程序分別實現了繪制鐵路線型、多義線節點的增加、刪除操作等特殊編輯功能。

  繪制鐵路線型

  1.程序設計思路

  在AutoCAD的線型庫文件ACAD.LIN、ACADISO.LIN分別新增實線段與空白段之比為1∶1、名為“Railway” 的線型,描述格式如下:

  在ACAD.LIN中增加:

  *Railway,Railway — —

  A,1,-1

  在ACADISO.LIN中增加:

  *Railway,Railway — —

  A,15,-15

  通過對選定多義線設置線寬(鐵路線寬),原點拷貝,將由拷貝生成的多義線設置為新建的“鐵路”圖層,顏色設為“白色”,線型設為“Railway”,線寬為原線寬的0.7倍,這樣原多義線與疊加在其上的寬度稍窄的白色虛線就構成了形象逼真的鐵路線。

  2.程序代碼

  (defun c:tlx()

  (setvar “cmdecho” 0)

  (setq ss (ssget ‘((0 .“LWPOLYLINE”))))

  (if (equal ss NIL)

  (exit) ; 沒有選擇對象或已取消

  )

  (setq tlkd (getstring“請輸入鐵路線寬度:”))

  (command “pedit” ss “width” tlkd “”)

  (command “copy” ss “” “0,0” “0,0” “”)

  (command “layer” “m” “鐵路” “L” “Railway” “” “”)

  (command “layer” “s” “鐵路” “c” “255” “” “”)

  (setq sset (ssget “L”))

  (command “pedit” sset “width” (setq tlkd1 (* (atof tlkd) 0.7)) “L” “ON” “”)

  (setq ename1 (ssname sset 0)

  ent1 (entget ename1))

  (setq ent11 (nth 5 ent1))

  (setq ent11 (subst (cons 8 “鐵路”) ent11 ent1))

  (entmod ent11)

  (setq ent12 (nth 6 ent11))

  (setq ent12 (subst (cons 6 “Railway”) ent12 ent11))

  (entmod ent12)

  )

  增加多義線節點

  1. 程序設計思路

  選定多義線,通過設置“最近點”捕捉方式精確定位所增加節點的位置。提取多義線的定義數據表中的節點坐標,通過檢測添加點到相鄰兩節點距離之和是否等于兩節點間距離的方法,判斷添加節點所在的位置。把添加點的坐標插入數據表中與之相鄰的兩節點坐標之間,并對多義線的定義數據表進行更新,以達到增加節點的目的。

  2. 程序代碼

  (defun c:add_V()

  ; add_Vertex.lsp

  ; 要求用戶選定多義線

  (princ “ Select LWPolylines: ”)

  (setq ss (ssget ‘((0 . “LWPOLYLINE”))))

  (if (equal ss NIL)

  (exit)) ; 沒有選擇對象或已取消

  ; 獲得單個多義線

  (setq ename (ssname ss 0)

  ent (entget ename)

  listlength (length ent)

  elementcounter 1)

  (setq e2 (entsel“請增加一個節點:”))

  (setq ent11 (nth 1 e2))

  (setq ent11 (osnap ent11 “nea”))

  ;最近點精確捕捉

  (setq e3 (cons 10 ent11))

  (setq el10 (list (car ent)))

  (setq el20 (cdr (assoc 10 ent)))

  (setq element2 el20)

  (setq k 0)

  ; 從多義線清單中獲得每個元素

  (while (< elementcounter listlength)

  ; 從表中獲得一個元素

  (setq element (nth elementcounter ent)

  kind (car element))

  (if (equal kind 10)

  ; 該元素所含的坐標

  (progn

  ; 獲取坐標 (OCS系統)

  (setq OCSpoint (list (nth 1 element); x坐標

  (nth 2 element))) ; y坐標

  (setq element2 (trans OCSpoint ename 1)); 將OCS系統轉為UCS系統

  (setq element1 (cons 10 element2))

  (setq dist (distance element2 el20))

  (setq dist1 (distance ent11 element2))

  (setq dist2 (distance ent11 el20))

  (setq dist (rtos dist 2 4))

  (setq dist1 (rtos dist1 2 4))

  (setq dist2 (rtos dist2 2 4))

  (if (= (atof dist) (+ (atof dist1) (atof dist2)));判斷節點位置并將其坐標加入表中

  (progn

  (setq ent11 (trans ent11 1 ename))

  ;將UCS系統轉為OCS系統

  (setq e3 (cons 10 ent11))

#p#分頁標題#e#

  (setq el10 (cons e3 el10))

  (setq k 1)

  )

  )

  )

  )

  (setq el1 (cons element el10))

  (setq kind “”)

  (setq elementcounter (1+ elementcounter))

  (setq el10 el1)

  (setq el20 element2)

  )

  (if (= k 0) (print “添加點沒選中,重試!”))

  (setq ent (reverse el1))

  (entmod ent);表更新

  (setq ss NIL)

  (princ “ Ready.”)

  (princ)

  )

  多義線節點的刪除

  1. 程序設計思路

  選定多義線,通過設置“端點”、“交點”捕捉方式定位刪除節點的位置。提取多義線的定義數據表中的節點坐標,通過檢查所刪節點在定義數據表中的位置,把數據表中的對應節點坐標數據刪除,并對多義線的定義數據表進行更新,以達到刪除節點的目的。

  2. 程序代碼;

  remove_vertex.lsp

  (defun c:rem_v(); 要求用戶選定多義線

  (princ “ Select LWPolylines: ”)

  (setq ss (ssget ‘((0 . “LWPOLYLINE”))))

  (if (equal ss NIL)

  (exit) ; 沒有選擇對象或已取消); 獲得單個多義線

  (setq ename (ssname ss 0)

  ent (entget ename)

  listlength (length ent)

  elementcounter 1)

  (setq e2 (entsel“請選擇一個節點:”))

  (setq ent11 (nth 1 e2))

  (setq ent11 (osnap ent11 “int,end”))

  (setq e3 (cons 10 ent11))(setq el10 (list (car ent))); 從表中獲得每個元素

  (while (< elementcounter listlength); 從表中獲得一個元素

  (setq element (nth elementcounter ent)

  kind (car element))

  (if (equal kind 10); 該元素所含的坐標

  (progn; 獲取坐標 (以OCS系統)

  (setq OCSpoint (list (nth 1 element); x坐標

  (nth 2 element))) ; y坐標

  (setq element1 (trans OCSpoint ename 1))

  ; 將OCS系統轉為UCS系統

  (setq element1 (cons 10 element1))

  )

  )

  (if (equal element1 e3)

  (setq el1 el10)

  (setq el1 (cons element el10))

  )

  (setq element1 “”)

  (setq elementcounter (1+ elementcounter))

  (setq el10 el1)

  )

  (setq ent (reverse el1))

  (entmod ent)

  (setq ss NIL)

  (princ “ Ready.”)

  (princ)

  )

  應當指出的是上述多義線節點的增加、刪除操作適合于任何用戶坐標系統的圖形文件。在程序設計中,還涉及到坐標系統轉換,即OCS系統(對象坐標系統)與UCS(用戶坐標系統)之間的轉換,原因是多義線定義數據表中的坐標為對象坐標,屏幕圖元的顯示坐標為用戶坐標,在非WCS(世界坐標系)坐標系中,屏幕上同一點對象坐標與顯示坐標是不同的,因此,在兩者坐標數據進行比較時必須使用同一種坐標系。


我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

            一区二区三区四区不卡在线| 国产尤物一区二区| 99久久伊人精品| 亚洲免费观看高清完整| 欧美午夜一区二区三区免费大片| 天天色天天操综合| 国产精品久久久久婷婷二区次| 国产视频在线观看一区二区三区 | 国产精品亚洲视频| 亚洲成人av一区二区| 国产精品看片你懂得| 国产精品国产自产拍在线| 久久久精品国产免费观看同学| 视频在线观看一区| 中文字幕精品一区二区精品绿巨人| 国产馆精品极品| 最新国产精品久久精品| 亚洲一区二区五区| 一区二区三区资源| 激情综合网天天干| 97精品国产露脸对白| 亚洲欧美日韩系列| 国产精品一级黄| 免费成人结看片| 日欧美一区二区| 狠狠色丁香久久婷婷综| 粉嫩aⅴ一区二区三区四区五区| 韩国av一区二区三区四区| 国产一区二区三区四区五区入口 | 激情图区综合网| 亚洲一区二区在线播放相泽| 国产视频一区在线播放| 日韩欧美国产一区二区在线播放| 在线区一区二视频| 91黄视频在线观看| 欧美日韩国产精选| 欧美精品粉嫩高潮一区二区| 欧美日韩精品一区二区三区蜜桃 | 日韩一区二区在线免费观看| 91精品久久久久久久99蜜桃| 在线亚洲人成电影网站色www| 成人黄色免费短视频| 岛国精品在线播放| 成人激情校园春色| 久久综合成人精品亚洲另类欧美 | 欧美经典一区二区三区| 国产亚洲va综合人人澡精品| 久久精品视频在线免费观看| 国产日产欧美一区二区视频| 国产精品日日摸夜夜摸av| 亚洲视频在线一区观看| 一区二区三区高清不卡| 喷水一区二区三区| 91久久一区二区| 中文字幕免费不卡| 精品粉嫩aⅴ一区二区三区四区 | 国产欧美日韩亚州综合| 欧美videossexotv100| 欧美变态tickling挠脚心| 91麻豆精品国产91久久久久| 91久久奴性调教| 91蜜桃免费观看视频| www.在线成人| 欧美三级电影网站| 欧美久久久影院| 色综合久久99| 欧美在线观看视频一区二区三区| 在线中文字幕一区| 26uuuu精品一区二区| 欧美在线视频全部完| 日韩欧美一级二级三级| 丝袜脚交一区二区| 久久国产婷婷国产香蕉| 琪琪一区二区三区| 国产盗摄女厕一区二区三区 | 色婷婷av一区二区| 欧美二区三区的天堂| 国产视频不卡一区| 亚洲国产精品久久人人爱蜜臀| 青椒成人免费视频| 在线中文字幕不卡| 欧美大片在线观看一区| 亚洲欧洲制服丝袜| 美女国产一区二区三区| 99精品欧美一区二区三区小说 | 日韩欧美国产综合一区| 日韩一区欧美二区| 久久人人超碰精品| 国产精品1区二区.| 精品福利一二区| 国产不卡高清在线观看视频| 精品国一区二区三区| 国产69精品久久777的优势| 最新日韩av在线| 欧美日韩一区在线| 国产在线国偷精品免费看| 国产视频911| 欧美在线观看你懂的| 久久99国内精品| 中文字幕在线播放不卡一区| 欧美大片在线观看| 91久久精品一区二区三区| 国产做a爰片久久毛片| 亚洲天天做日日做天天谢日日欢| 高清不卡一区二区| 亚洲欧洲美洲综合色网| 97国产一区二区| 亚洲三级电影全部在线观看高清| 国产精品一区二区久激情瑜伽| 国产精品久久久久影视| 91亚洲精华国产精华精华液| 亚洲精品国产a| 欧美一区二区福利在线| 国产亚洲va综合人人澡精品| 一区二区三区四区不卡在线| 欧美三片在线视频观看| 九九视频精品免费| 国产精品久久久久久久久免费丝袜| 99热精品一区二区| 日本成人在线视频网站| 亚洲国产高清aⅴ视频| 欧美一区中文字幕| av一区二区三区四区| 美女视频一区二区三区| 久久久噜噜噜久久人人看| 日本久久电影网| 天堂久久久久va久久久久| 国产精品二区一区二区aⅴ污介绍| 69p69国产精品| 欧美精品国产精品| 日韩午夜电影av| 91精品国产aⅴ一区二区| 日本精品免费观看高清观看| 欧美综合在线视频| 日韩天堂在线观看| 国产欧美精品日韩区二区麻豆天美| 884aa四虎影成人精品一区| 日韩免费一区二区| 久久国产精品无码网站| av一区二区三区| 色婷婷亚洲综合| 91网页版在线| 欧美日韩久久久| 欧美日韩国产首页| 91麻豆国产福利精品| 久久久久久久久久电影| 精品乱人伦小说| 欧美韩国一区二区| 国产精品传媒视频| 日日夜夜精品视频免费| 日韩成人午夜精品| 国产麻豆日韩欧美久久| 福利一区二区在线| 在线观看视频91| 欧美国产精品劲爆| 日韩高清不卡在线| 日本中文在线一区| 国产精品小仙女| 色婷婷av一区| 国产视频一区在线播放| 亚洲精品视频在线观看免费| 日韩 欧美一区二区三区| 99久久久国产精品| www国产精品av| 一区二区三区不卡视频| 全国精品久久少妇| 色婷婷亚洲一区二区三区| 欧美视频三区在线播放| 国产精品久久久久一区二区三区共| 亚洲一区二区三区四区在线| 一本大道综合伊人精品热热| 久久一区二区三区四区| 天天影视涩香欲综合网 | 国产精品一区二区久久不卡| 色国产精品一区在线观看| 国产精品久99| 成人国产亚洲欧美成人综合网 | 成人国产亚洲欧美成人综合网 | 在线免费亚洲电影| 国产精品久久久久久福利一牛影视 | 国产三级精品三级| 欧美色区777第一页| 精品无人码麻豆乱码1区2区 | 免费在线视频一区| 欧美一区二区人人喊爽| 久久爱另类一区二区小说| 欧美精品一区二区三区在线播放| 久久se精品一区二区| 中文字幕视频一区| 欧美日韩高清一区二区三区| 蜜臀a∨国产成人精品| 国产精品污www在线观看| 欧美疯狂做受xxxx富婆| 国产精品自拍毛片| 日韩精彩视频在线观看| 日韩一区有码在线| 久久综合九色综合97婷婷女人| 欧美综合天天夜夜久久| 国产成人亚洲精品狼色在线| 午夜视频久久久久久|