Đến nội dung


Hình ảnh
* * * - - 2 Bình chọn

Viết Lisp theo yêu cầu


  • Chủ đề bị khóa Chủ đề bị khóa
2780 replies to this topic

#2341 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1431 Bài viết
Điểm đánh giá: 1425 (rất tốt)

Đã gửi 10 July 2009 - 10:40 AM

Cám ơn bác Gia_bach, nhưng nếu xài như vậy thì không thể được. Nếu như lệnh BURST chuyển các Text trong các Attributes thành các text mà vẩn giử được các đặc tính của các Text đó thì LISP sẽ phải làm công việc ngược lại - vẩn giử được các đặc tính của các Text theo quy tắc WYSIWYG.
PP post bản vẽ của 1 khung bản tên A3 có sẳn trong AutoCAD để bác test.
http://www.cadviet.c...te___Block_.zip
*WYSIWYG: What You See Is What You Get

Gửi Phiphi-
Lisp convert Text to Block Attributes download file Lisp
(đã test trên file Text 2 Attribute - Block-.dwg)
hy vọng đúng yêu cầu của bạn.

cái này mình nâng cấp thành block att luôn được ko vậy bạn?nếu cái text nằm trong vòng tròn,mình dùng lisp quét thì cái vòng tròn và text thành blok att dc ko bạn?

Có thể, nhưng bạn cho biết vị trí của Text so với đuờng tròn, vd : ở tâm hay nửa trên(duới ) đuờng tròn ...

To Admin :
có lỗi khi Insert CODEBOX " The requested URL /files/folder_rte_files/module_bbcodeloader.php?editorid=ed-0&id=7 was not found on this server."
Mong Admin quan tâm.
Thanks.
  • 2

#2342 truongthanh

truongthanh

    biết lệnh text

  • Members
  • PipPipPipPip
  • 275 Bài viết
Điểm đánh giá: 7 (bình thường)

Đã gửi 10 July 2009 - 12:02 PM

Gửi Phiphi-
Lisp convert Text to Block Attributes download file Lisp
(đã test trên file Text 2 Attribute - Block-.dwg)
hy vọng đúng yêu cầu của bạn.
Có thể, nhưng bạn cho biết vị trí của Text so với đuờng tròn, vd : ở tâm hay nửa trên(duới ) đuờng tròn ...

To Admin :
có lỗi khi Insert CODEBOX " The requested URL /files/folder_rte_files/module_bbcodeloader.php?editorid=ed-0&id=7 was not found on this server."
Mong Admin quan tâm.
Thanks.

chứ mình ko áp dụng cho hình bất kỳ là hình tròn hay hình vuông được hả bạn,và text ở vị trí bất kỳ trong hình tròn hay hình vuông cũng ko dc hả?
  • 0

#2343 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1431 Bài viết
Điểm đánh giá: 1425 (rất tốt)

Đã gửi 10 July 2009 - 01:39 PM

chứ mình ko áp dụng cho hình bất kỳ là hình tròn hay hình vuông được hả bạn,và text ở vị trí bất kỳ trong hình tròn hay hình vuông cũng ko dc hả?

Chào truongthanh
Trong CAD, khi bạn muốn vẽ đuờng thẳng bạn gọi lệnh LINE, vẽ đuờng tròn bạn gọi lệnh CIRCLE.....
Tuơng tự, Lisp chỉ thực hiện đuợc một việc xác định cụ thể bạn à.
Không thể dùng LINE để vẽ đuờng tròn đuợc.
  • 0

#2344 truongthanh

truongthanh

    biết lệnh text

  • Members
  • PipPipPipPip
  • 275 Bài viết
Điểm đánh giá: 7 (bình thường)

Đã gửi 10 July 2009 - 02:11 PM

Chào truongthanh
Trong CAD, khi bạn muốn vẽ đuờng thẳng bạn gọi lệnh LINE, vẽ đuờng tròn bạn gọi lệnh CIRCLE.....
Tuơng tự, Lisp chỉ thực hiện đuợc một việc xác định cụ thể bạn à.
Không thể dùng LINE để vẽ đuờng tròn đuợc.

thank bạn rất nhiều!mình đã hiểu ý mình nói!mình muốn thể hiện vòng tròn như sau!mong bạn giúp dùm nhen!Bạn xem cái VD mình gửi kèm theo nhé!mình muốn cái vòng tròn này là block att được ko?
http://www.mediafire...php?yaizlmowu4j

P/S:em dùng chức năng UPLOAD của CADVIET nhưng bị lỗi liên tục!
  • 0

#2345 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 10 July 2009 - 02:14 PM

Cái lisp này chạy rất tốt nhưng bác có thể nâng cấp nó lên thành lệnh tạo block thuộc tính bao gồm các đối tượng có săn như text, line, circle, pl.... khi mình quét chọn các đối tượng này được không. :blink:

Chào bạn Phiphi, xuantran, truongthanh

Lisp sau Tue_NV đã cải tiến theo ý của bạn Xuantran, truongthanh
Khi chạy Lisp hỏi
1. Chọn các text để chuyển các Text thành Attribute
2. Chon cac doi tuong khac de tao thanh BLOCK ATTRIBUTE

Nếu ở bước 2 nếu bạn không chọn đối tượng thì chỉ có các Text chuyển thành Attribute
Nếu ở bước 2 nếu bạn chọn đối tượng thì các Text và các đối tượng được chọn ở bước 2 chuyển thành Attribute

Đây là Lisp hoàn thiện

(defun c:ttoa(/ dt n i ss1 ent tval L kytunoi kytu j tname cao po10 po11 styl LA
mau dxf71 dxf72 dxf73 ang wid dtk)
(command "undo" "be")
(prompt "\n Chon Text :")
(setq dt (ssget '((0 . "TEXT"))) n (sslength dt) i 0 ss1 (ssadd))
(prompt "\n Chon cac doi tuong khac de tao thanh BLOCK ATTRIBUTE :")
(if (setq dtk (ssget '((0 . "LINE,LWPOLYLINE,SPLINE,CIRCLE,ARC,ELLIPSE,DIMENSION,HATCH,POLYLINE"))))
(setq dtk dtk)
(setq dtk (ssadd))
)
(while (< i n)
(if dt
(progn
(setq ent (ssname dt i))
(setq tval (cdr(assoc 1 (entget ent))))

(setq L (strlen tval) j 1)
(setq kytunoi "")
(Repeat L
(setq kytu (substr tval j 1))
(if (= kytu " ")
(setq kytu "_")
(setq kytu (substr tval j 1))
)
(setq kytunoi (strcat kytunoi kytu))

(setq j (1+ j))
)

(setq tname kytunoi)
(setq cao (cdr(assoc 40 (entget ent))))
(setq po10 (cdr(assoc 10 (entget ent))))
(setq po11 (cdr(assoc 11 (entget ent))))
(setq styl (cdr(assoc 7 (entget ent))))
(setq LA (cdr(assoc 8 (entget ent))))
(if (= (cdr(assoc 62 (entget ent))) nil)
(setq mau (cdr(assoc 62 (tblsearch "layer" LA))))
(setq mau (cdr(assoc 62 (entget ent))))
)
(setq ang (cdr(assoc 50 (entget ent))))
(setq wid (cdr(assoc 41 (entget ent))))
(setq dxf71 (cdr(assoc 71 (entget ent))))
(setq dxf72 (cdr(assoc 72 (entget ent))))
(setq dxf73 (cdr(assoc 73 (entget ent))))

(watt tname tval po10 po11 dxf71 dxf72 dxf73 cao styl mau ang wid)
(setq ss1 (ssadd (entlast) ss1))
(entdel ent)
)
)
(setq i (1+ i))
)
(sssetfirst ss1 ss1)
(command "copybase" po10 ss1 dtk "")
(Command "pasteblock" po10)
(Command "erase" ss1 dtk "")
(command "undo" "end")
(princ)
)
;
;
;
(defun watt (tagname tagval p1 p2 d71 d72 d73 h sty col goc rong / promp)
(setq promp tagname)
(entmake (list (cons 0 "ATTDEF") (cons 7 sty) (cons 62 col) (cons 2 Tagname) (cons 3 promp)
(cons 1 tagval) (cons 71 d71) (cons 72 d72) (cons 74 d73) (cons 10 p1) (cons 11 p2) (cons 40 h)
(cons 50 goc) (cons 41 rong)
'(70 . 8)
)
)
)

:s_big:
  • 6

#2346 xuantran15

xuantran15

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 295 Bài viết
Điểm đánh giá: 112 (tàm tạm)

Đã gửi 10 July 2009 - 02:29 PM

Lisp bác viết rất hay thanks bác nhé.
  • 0
Hình đã gửi
Thu đi cho lá vàng bay
Lá rơi cho đám cưới về......

#2347 bach1212

bach1212

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 5 (bình thường)

Đã gửi 10 July 2009 - 03:57 PM

theo ý mình thì bạn dùng EXCELLINK là tốt nhất!

bác ơi. up cho em lun EXCELLINK trọn gói với cả key đc hôk ah? em dùng cad 2007. đa tạ bác. hjjj
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#2348 bach1212

bach1212

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 5 (bình thường)

Đã gửi 10 July 2009 - 04:24 PM

Chào bạn Phiphi, xuantran, truongthanh

Lisp sau Tue_NV đã cải tiến theo ý của bạn Xuantran, truongthanh
Khi chạy Lisp hỏi
1. Chọn các text để chuyển các Text thành Attribute
2. Chon cac doi tuong khac de tao thanh BLOCK ATTRIBUTE

Nếu ở bước 2 nếu bạn không chọn đối tượng thì chỉ có các Text chuyển thành Attribute
Nếu ở bước 2 nếu bạn chọn đối tượng thì các Text và các đối tượng được chọn ở bước 2 chuyển thành Attribute

bác thật là tài!
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#2349 truongthanh

truongthanh

    biết lệnh text

  • Members
  • PipPipPipPip
  • 275 Bài viết
Điểm đánh giá: 7 (bình thường)

Đã gửi 10 July 2009 - 04:31 PM

bác ơi. up cho em lun EXCELLINK trọn gói với cả key đc hôk ah? em dùng cad 2007. đa tạ bác. hjjj

http://www.mediafire...php?tnttaqmmzto
mình up lên cho bạn nè
  • 0

#2350 truongthanh

truongthanh

    biết lệnh text

  • Members
  • PipPipPipPip
  • 275 Bài viết
Điểm đánh giá: 7 (bình thường)

Đã gửi 10 July 2009 - 04:39 PM

Chào bạn Phiphi, xuantran, truongthanh

Lisp sau Tue_NV đã cải tiến theo ý của bạn Xuantran, truongthanh
Khi chạy Lisp hỏi
1. Chọn các text để chuyển các Text thành Attribute
2. Chon cac doi tuong khac de tao thanh BLOCK ATTRIBUTE

Nếu ở bước 2 nếu bạn không chọn đối tượng thì chỉ có các Text chuyển thành Attribute
Nếu ở bước 2 nếu bạn chọn đối tượng thì các Text và các đối tượng được chọn ở bước 2 chuyển thành Attribute

sao em làm ko dc vậy?bc 1 thì chữ thường thành chữ hoa còn bước 2 thì quét vòng tròn thì bị lỗi!bạn coi lại dùm mình thử!ko biết mấy bạn kia tesst như thế nào nữa!cảm ơn bạn nhiều lắm!
  • 0

#2351 bach1212

bach1212

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 5 (bình thường)

Đã gửi 10 July 2009 - 04:46 PM

http://www.mediafire...php?tnttaqmmzto
mình up lên cho bạn nè

crack cua bác cho em chỉ cần cop pết vào C\program...... j đó thui ạ?
hic hic crack ntn bác nhỉ? em ngu lâu hiểu chậm júp em nhé!
chạy keygen.exe thì nhập username là j ạ?
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#2352 phuongcuong

phuongcuong

    biết zoom

  • Members
  • Pip
  • 19 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 10 July 2009 - 05:15 PM

Chào các bạn, mình muốn nhờ viết 1 lisp mà khi kích vào 1 pline thì nó sẽ lấy chiều dài của pline đó rồi điền vào 1 text có sẵn, mà không làm thay đổi thuộc tính của text. Cảm ơn các bác trước
  • 0

#2353 Phiphi-

Phiphi-

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 434 Bài viết
Điểm đánh giá: 175 (tàm tạm)

Đã gửi 10 July 2009 - 06:01 PM

Lisp ttoa mà Tue_NV viết cho Phi phi dựa trên tiêu chí WYSIWYG
Các bạn chạy thử xem và cho mình biết ý kiến nhé :


;copyright by Tue_NV
(defun c:ttoa(/ dt n i ss1 ent tval L kytunoi kytu j tname cao po10 po11 styl LA
mau dxf71 dxf72 dxf73 ang wid)
(command "undo" "be")
(setq dt (ssget '((0 . "TEXT"))) n (sslength dt) i 0 ss1 (ssadd))
(while (< i n)
(if dt
(progn
(setq ent (ssname dt i))
(setq tval (cdr(assoc 1 (entget ent))))

(setq L (strlen tval) j 1)
(setq kytunoi "")
(Repeat L
(setq kytu (substr tval j 1))
(if (= kytu " ")
(setq kytu "_")
(setq kytu (substr tval j 1))
)
(setq kytunoi (strcat kytunoi kytu))

(setq j (1+ j))
)

(setq tname kytunoi)
(setq cao (cdr(assoc 40 (entget ent))))
(setq po10 (cdr(assoc 10 (entget ent))))
(setq po11 (cdr(assoc 11 (entget ent))))
(setq styl (cdr(assoc 7 (entget ent))))
(setq LA (cdr(assoc 8 (entget ent))))
(if (= (cdr(assoc 62 (entget ent))) nil)
(setq mau (cdr(assoc 62 (tblsearch "layer" LA))))
(setq mau (cdr(assoc 62 (entget ent))))
)
(setq ang (cdr(assoc 50 (entget ent))))
(setq wid (cdr(assoc 41 (entget ent))))
(setq dxf71 (cdr(assoc 71 (entget ent))))
(setq dxf72 (cdr(assoc 72 (entget ent))))
(setq dxf73 (cdr(assoc 73 (entget ent))))

(watt tname tval po10 po11 dxf71 dxf72 dxf73 cao styl mau ang wid)
(setq ss1 (ssadd (entlast) ss1))
(entdel ent)
)
)
(setq i (1+ i))
)
(sssetfirst ss1 ss1)
(command "copybase" po10 ss1 "")
(Command "pasteblock" po10)
(Command "erase" ss1 "")
(command "undo" "end")
(princ)
)
;
;
;
(defun watt (tagname tagval p1 p2 d71 d72 d73 h sty col goc rong / promp)
(setq promp tagname)
(entmake (list (cons 0 "ATTDEF") (cons 7 sty) (cons 62 col) (cons 2 Tagname) (cons 3 promp)
(cons 1 tagval) (cons 71 d71) (cons 72 d72) (cons 74 d73) (cons 10 p1) (cons 11 p2) (cons 40 h)
(cons 50 goc) (cons 41 rong)
'(70 . 8)
)
)
)

Cám ơn Tue_NV và Gia_bach đã viết LISP tự động chuyển các TEXT thành các ATTRIBUTE. PP hy vọng LISP này sẽ giúp ích rất nhiều cho các Drafters khi biết tận dụng các đặc tính hay của Attribute áp dụng trong các bản vẽ AutoCAD. Sẽ có rất nhiều cái để áp dụng với LISP này. Và nếu kết hợp với Excell thì phạm vi áp dụng sẽ đa dạng. Một thí dụ đơn giản như là Explode các dim rồi thay đổi các chử số của dim thành các tên gọi khác trước khi dùng LISP trên, như vậy sẽ có nhiều Attribute để sử dụng khi muốn thay đổi...
  • 0

#2354 q288

q288

    biết lệnh fillet

  • Members
  • PipPipPipPip
  • 209 Bài viết
Điểm đánh giá: 164 (tàm tạm)

Đã gửi 10 July 2009 - 06:02 PM

Chào mọi người!
Nhờ các bác xem giúp sao đoạn lisp này của em khi nó hông chịu kết thúc cứ phải bấm Éc thi nó mới thoát. còn không thì nó cứ sửa Text sau cùng sau mổi lần bấm enter mà không chọn điểm.


Tại vòng while bạn ko đặt ra điều kiện thoát thì làm sao nó thoát đc.
  • 0

#2355 q288

q288

    biết lệnh fillet

  • Members
  • PipPipPipPip
  • 209 Bài viết
Điểm đánh giá: 164 (tàm tạm)

Đã gửi 10 July 2009 - 06:20 PM

Chào các bạn, mình muốn nhờ viết 1 lisp mà khi kích vào 1 pline thì nó sẽ lấy chiều dài của pline đó rồi điền vào 1 text có sẵn, mà không làm thay đổi thuộc tính của text. Cảm ơn các bác trước


Lisp kiểu này trên dđ nhiều vô số, nhưng mình cũng xin làm thêm một cái theo yêu cầu của bạn.
Cái này đo chiều dài mọi đường line,arc,pline.circle,spline.

(defun c:do(/ plo to dai)
(vl-load-com)
(setq plo (vlax-ename->vla-object (car (entsel "Chon pline :"))))

(while plo
(setq to (vlax-ename->vla-object (car (entsel "Chon text :")))
dai (vlax-curve-getDistAtParam plo (vlax-curve-getEndParam plo)))
(vla-put-TextString to (rtos dai))
(setq plo (vlax-ename->vla-object (car (entsel "Chon pline :"))))
)
)

  • 1

#2356 nh0ckut3t0cv4ngh03

nh0ckut3t0cv4ngh03

    biết pan

  • Members
  • Pip
  • 5 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 10 July 2009 - 08:22 PM

Mình không hiểu công việc của bạn. Quan sát lệnh bạn viết thì hình như bạn muốn nối 0 15 0 12 vào với T thành 1 list, tương tự như vậy với U W 3000 6000 3000. Nếu đúng vậy thì bạn làm như sau :
(setq LCt (append T '(0 15 0 12)))
(setq LDist (append U (list W) '(3000 6000 3000)))
Nếu không đúng ý bạn thì bạn nói rõ thêm tí nữa hay bạn có ví dụ cụ thể sẽ dễ hiểu hơn.


Cảm ơn ông anh nhé
Đúng ý của em rui. Ông anh Pro thật.
Thanks !
  • 0

#2357 HoangSon614

HoangSon614

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 254 Bài viết
Điểm đánh giá: 66 (tàm tạm)

Đã gửi 10 July 2009 - 09:04 PM

[quote name='Tue_NV' date='Jul 10 2009, 14:14' post='66867']
Tue_NV ơi! giúp mình với, cảm ơn bạn nhiều. Có gì thì bạn cũng trao đổi với mình chứ, sao không thấy hồi âm.Hãy giúp mình
  • 0

#2358 truongthanh

truongthanh

    biết lệnh text

  • Members
  • PipPipPipPip
  • 275 Bài viết
Điểm đánh giá: 7 (bình thường)

Đã gửi 10 July 2009 - 09:55 PM

crack cua bác cho em chỉ cần cop pết vào C\program...... j đó thui ạ?
hic hic crack ntn bác nhỉ? em ngu lâu hiểu chậm júp em nhé!
chạy keygen.exe thì nhập username là j ạ?

bạn cài cái này vào CAD
sau đó tắt CAD khởi động lại CAD nó sẽ hiện lên cái bảng đăng ký,bạn copy cái dòng số này paste vào keygen, nó sẽ hiện ra 1 dãy chữ khác,bạn paste lại vào cái ô đang hỏi đăng ký trong CAD nữa là xong!thân!
  • 0

#2359 conghoan1003

conghoan1003

    biết vẽ point

  • Members
  • PipPip
  • 99 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 11 July 2009 - 09:13 AM

Lisp Vét bùn theo ý của bạn đã thực hiện xong. Bạn test thử nhé :
Tên lệnh VBUN
Đây : http://www.cadviet.c...pfiles/VBUN.vlx

Cảm ơn Tue_NV đã giúp đỡ!
Tue_NV có thể chỉnh lại cho hoàn thiện hơn giúp mình với!
Thứ nhất: mình có rất nhiều mặt cắt như thế nên mình muốn các thông số như chiều sâu vét và mái dốc chỉ nhập số liệu vào mặt cắt đầu tiên còn các mặt cắt sau thi lisp sẽ mặc định giống mặt cắt trước.
Thứ hai: Đường vét vừa tạo thành phải thuộc layer hiện hữu và đường vét được nối với mái dốc như hình mẫu của mình đấy.
Trình từ lisp chạy như thế này:
sau khi chạy lisp thì hỏi chiều sâu vét. Rồi mái dốc vét.
Rồi chọn polyline tự nhiên. Tiếp theo chọn hai điểm thuộc polyline vừa chọn thì lisp sẽ cho mình đường vét hoàn chỉnh.
Rồi tiếp tục mình làm cho mặt cắt khác: Chọn polyline (không cần ấn enter). rồi chọn hai điểm. Sau khi chọn hai điểm thì lisp cho mình đường vét và tự động hỏi mình chọn polyline tự nhiên tiếp theo mà không cần ấn enter.
Đồi với các mặt cắt sau mình chỉ cần kích trái chuột 3 lần thì được một đường vét (chọn polyline tự nhiên và hai lần chọn điểm)
Có lẽ yêu cầu của mình hơi quá nhưng mà nếu được như thế thì lisp này sẽ giúp cho anh em cầu đường tiết kiệm thời gian đáng kể đó. Cảm ơn Tue_NV đã nhiệt tình giúp đỡ!
File mẫu: http://www.cadviet.c...GANGCHITIET.dwg
  • 0
Học học nữa học mãi.
Đúp học lại!

#2360 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 11 July 2009 - 10:34 AM

Cảm ơn Tue_NV đã giúp đỡ!
Tue_NV có thể chỉnh lại cho hoàn thiện hơn giúp mình với!
Thứ nhất: mình có rất nhiều mặt cắt như thế nên mình muốn các thông số như chiều sâu vét và mái dốc chỉ nhập số liệu vào mặt cắt đầu tiên còn các mặt cắt sau thi lisp sẽ mặc định giống mặt cắt trước.
Thứ hai: Đường vét vừa tạo thành phải thuộc layer hiện hữu và đường vét được nối với mái dốc như hình mẫu của mình đấy.
Trình từ lisp chạy như thế này:
sau khi chạy lisp thì hỏi chiều sâu vét. Rồi mái dốc vét.
Rồi chọn polyline tự nhiên. Tiếp theo chọn hai điểm thuộc polyline vừa chọn thì lisp sẽ cho mình đường vét hoàn chỉnh.
Rồi tiếp tục mình làm cho mặt cắt khác: Chọn polyline (không cần ấn enter). rồi chọn hai điểm. Sau khi chọn hai điểm thì lisp cho mình đường vét và tự động hỏi mình chọn polyline tự nhiên tiếp theo mà không cần ấn enter.
Đồi với các mặt cắt sau mình chỉ cần kích trái chuột 3 lần thì được một đường vét (chọn polyline tự nhiên và hai lần chọn điểm)
Có lẽ yêu cầu của mình hơi quá nhưng mà nếu được như thế thì lisp này sẽ giúp cho anh em cầu đường tiết kiệm thời gian đáng kể đó. Cảm ơn Tue_NV đã nhiệt tình giúp đỡ!

Trình tự chạy Lisp theo ý của conghoan hơi lâu.
Để Tue_NV cải thiện tốc độ của Lisp nhé :
Tên lệnh VBUN

Command: vbun : đánh lệnh VBUN
Select objects: Specify opposite corner: 4 found

Select objects: Chọn các Polyline

Nhap do sau vet bun : Specify second point: Nhập độ sâu vét bùn
Nhap he so mai doc o diem dau :0

Nhap he so mai doc o diem cuoi :1.2

Lúc này Lisp sẽ hiện sáng 1 polyline được chọn -> Bạn chỉ việc kích điểm đầu và điểm cuối của PLINE hiện sáng đó
Chon diem dau :
Chon diem cuoi :
Lisp sẽ hiện sáng 1 polyline được chọn tiếp theo -> Bạn chỉ việc kích điểm đầu và điểm cuối của PLINE hiện sáng đó
Chon diem dau :
Chon diem cuoi :
Lisp sẽ hiện sáng 1 polyline được chọn tiếp theo -> Bạn chỉ việc kích điểm đầu và điểm cuối của PLINE hiện sáng đó
Chon diem dau :
Chon diem cuoi :
File đây :
http://www.cadviet.c...iles/VBUN_1.vlx

Đồi với các mặt cắt sau mình chỉ cần kích trái chuột 2 lần thì được một đường vét (Chỉ cần chọn 2 điểm đầu và cuối mà thôi vì Lisp đã hiện sáng Polyline lên rồi)
-> nhanh hơn của conghoan nhé :s_big:
  • 1