Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Chuyển cao độ Z của các loại đối tượng về Z=0 !


  • Please log in to reply
18 replies to this topic

#1 hanam1210

hanam1210

    biết vẽ pline

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

Đã gửi 21 September 2011 - 08:13 AM

Thực tế khi vẽ bản vẽ CAD, nhiều khi ta dùng lệnh fillet các đối tượng đã có từ trước, nhưng ko fillet được. nguyên nhân là do cao độ Z (elevation) khác 0 và start Z và end Z của line khác 0. Như vậy để fillet được ta phải chỉnh thủ công các giá trị elevation và start Z, end Z về 0. Như vậy cũng hơi mất thời gian một chút bởi các đối tượng thuộc bình đồ rất nhiều. Vậy em mong các anh chị trên diễn đàn viết giúp em cái lisp chuyển elevation và start Z, end Z của tất cả các đối tượng về giá trị 0 để khi dùng fillet không bị lỗi. Em xin chân thành cảm ơn !
  • 0

#2 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 21 September 2011 - 08:42 AM

dùng lệnh flatten, lệnh tắt là FT
  • 1

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#3 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5679 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 21 September 2011 - 08:45 AM

@hanam : Tiền tố là [Yêu cầu] bạn nhé :)
Yêu cầu của bạn có thể sử dụng flatten trong Express, hoặc nếu làm lisp thì cũng phải có file minh họa, loại đối tượng....
Ví dụ sau sử dụng với đa số đối tượng, trừ 3D - Block :

(defun c:flat ( / acsel elv ) (vl-load-com)
(if (ssget "_X" (list (cons 410 (getvar 'CTAB))))
(progn
(vlax-for obj
(setq acsel
(vla-get-ActiveSelectionSet
(vla-get-ActiveDocument (vlax-get-acad-object))
)
)
(foreach elv '(1e99 -1e99)
(vl-catch-all-apply 'vla-move
(list obj (vlax-3D-point '(0. 0. 0.)) (vlax-3D-point (list 0. 0. elv)))
)
)
)
(vla-delete acsel)
)
)
(princ)
)

  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#4 hanam1210

hanam1210

    biết vẽ pline

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

Đã gửi 21 September 2011 - 09:19 AM

hihi.ngon rồi, cảm ơn bác KETXU nhé. Cảm ơn diễn đàn, chúc diễn đàn mình ngày một lớn mạnh, có nhìêu "cao thủ đầu có mủ" như bác KETXU.hihi.( Cao thủ đầu có mủ giỏi hơn cao thủ đó ạ). Có cái lisp này thì làm bình đồ sẽ nhanh hơn rất nhiều. hì hì.
  • 0

#5 Kỹ sư

Kỹ sư

    biết vẽ arc

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

Đã gửi 01 October 2011 - 07:55 PM

Ngày xưa mình cũng hay vẽ bình đồ, mặt bằng,.. và cũng hay dính cái này
đôi khi lệnh flatten cũng k0 đủ mạnh để là phẳng mọi thứ, và mình lên mạng tìm được cái lisp supperflatten của bọn nước ngoài
May mà trong thư mục LISP của mình vẫn còn

Đown đây nhé:
http://www.cadviet.c...uperflatten.rar
  • 1

Hình đã gửi


#6 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 02 October 2011 - 02:27 PM

Thực tế khi vẽ bản vẽ CAD, nhiều khi ta dùng lệnh fillet các đối tượng đã có từ trước, nhưng ko fillet được. nguyên nhân là do cao độ Z (elevation) khác 0 và start Z và end Z của line khác 0. Như vậy để fillet được ta phải chỉnh thủ công các giá trị elevation và start Z, end Z về 0. Như vậy cũng hơi mất thời gian một chút bởi các đối tượng thuộc bình đồ rất nhiều. Vậy em mong các anh chị trên diễn đàn viết giúp em cái lisp chuyển elevation và start Z, end Z của tất cả các đối tượng về giá trị 0 để khi dùng fillet không bị lỗi. Em xin chân thành cảm ơn !

Có thể anh dùng CAD đời cũ, nên nó mới "giườm già" rắc rối lôi thôi thế thôi, hoặc giả cũng có thể anh đã Fillet " quá tải" R lớn hơn cạnh nhỏ của hai cạnh cần Fillet. Lệnh Fillet nó xuề xòa và dễ tính lắm, hai đường thẳng ở bất cứ chân trời góc biển nào trong không gian, nó đều vê đầu tròn được hết!
Nếu anh dùng CAD2011 trở lên để là các đối tượng về Z=0 chỉ cần dùng lệnh Flatten, lệnh tắt là FT đảm bảo nhanh hơn dùng lisp.
  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#7 hanam1210

hanam1210

    biết vẽ pline

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

Đã gửi 21 October 2011 - 08:10 PM

ghi nhận sự đóng góp của Hoan, CAD 2008 cũng có lệnh đó. Nhưng sau khi đánh lệnh và chọn đối tượng thì các thuộc tính Z vẫn nguyên xi như cũ. Bạn cứ kiểm tra lại xem nhé ! với lại mình chỉ dùng đến CAD 2010 thôi, từ bản 2011 trở nên nặng. và cũng không cải thiện được tính năng gì hơn nên mình không dùng.
  • 0

#8 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 22 October 2011 - 06:34 AM

Em đã làm thử bằng cách vẽ khối hộp chữ nhật đặc bằng lệnh BOX >> EXPLODE phá vỡ khối solid >> EXPLODE phá vỡ tiếp faces >>> Vẽ loằng ngoằng các đường thẳng có cao độ Z khác 0 >>> Thực hiện lệnh Flatten ngon lành.
Anh nên cài CAD2011 dùng cho sướng, tội gì phải dùng CAD đời cũ cho khổ ra!
Command: Flatten
Select objects to convert to 2d...
Select objects: Specify opposite corner: 42 found
Select objects:
Remove hidden lines? <No>:
Command:
  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#9 nokia

nokia

    biết pan

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

Đã gửi 22 October 2011 - 01:05 PM

Em đã làm thử bằng cách vẽ khối hộp chữ nhật đặc bằng lệnh BOX >> EXPLODE phá vỡ khối solid >> EXPLODE phá vỡ tiếp faces >>> Vẽ loằng ngoằng các đường thẳng có cao độ Z khác 0 >>> Thực hiện lệnh Flatten ngon lành.
Anh nên cài CAD2011 dùng cho sướng, tội gì phải dùng CAD đời cũ cho khổ ra!
Command: Flatten
Select objects to convert to 2d...
Select objects: Specify opposite corner: 42 found
Select objects:
Remove hidden lines? <No>:
Command:

Flatten là dùng để convert 3D => 2D còn ý của bạn Hnam1210 yêu cầu là chuyển Start Z và elevation về 0. 2 cái khác nhau
  • 0

#10 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 22 October 2011 - 02:19 PM

Flatten là dùng để convert 3D => 2D còn ý của bạn Hnam1210 yêu cầu là chuyển Start Z và elevation về 0. 2 cái khác nhau

Flatten không convert 3D solid về 2D , nó chỉ có tác dụng là các đối tượng không phải là 3D solid về Z=0, anh ạ!
  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#11 quochuyksxd

quochuyksxd

    biết lệnh fillet

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

Đã gửi 22 October 2011 - 02:30 PM

Gui ban, minh dung thuong xuyen va thay rat hieu qua
http://www.mediafire...fzyzk2e664u7hzh
  • 2

#12 hanam1210

hanam1210

    biết vẽ pline

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

Đã gửi 22 October 2011 - 03:19 PM

Gui ban, minh dung thuong xuyen va thay rat hieu qua
http://www.mediafire...fzyzk2e664u7hzh

Cảm ơn bạn. Bác KETXU viết lisp xử được vấn đề của mình rồi. Bạn post lisp lên nhưng ko cho biết tên lệnh ? vì là .VLX mà ?
  • 0

#13 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 22 October 2011 - 03:51 PM

Cảm ơn bạn. Bác KETXU viết lisp xử được vấn đề của mình rồi. Bạn post lisp lên nhưng ko cho biết tên lệnh ? vì là .VLX mà ?

Lệnh là "SuperIron". Mỗi lần Load, bạn nhấn F2 để biết.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#14 hanam1210

hanam1210

    biết vẽ pline

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

Đã gửi 22 October 2011 - 04:12 PM

Lệnh là "SuperIron". Mỗi lần Load, bạn nhấn F2 để biết.

hè hè.lisp này chuẩn.nhưng lệnh dài quá.
  • 0

#15 funnyzui

funnyzui

    biết vẽ arc

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

Đã gửi 15 June 2014 - 11:28 AM

Ngày xưa mình cũng hay vẽ bình đồ, mặt bằng,.. và cũng hay dính cái này
đôi khi lệnh flatten cũng k0 đủ mạnh để là phẳng mọi thứ, và mình lên mạng tìm được cái lisp supperflatten của bọn nước ngoài
May mà trong thư mục LISP của mình vẫn còn

Đown đây nhé:
http://www.cadviet.c...uperflatten.rar

Cám ơn bạn!

Lisp rất hay. Khi sử dụng lisp này các block nằm trong block không bị lỗi. Trong khi lisp của bạn Ketxu hình như bị vướng lỗi này. Các bạn khác khi sử dụng có thể test lại để mọi người sử dụng đc lisp ổn định nhất.

Thân!


  • 0

#16 unbroken

unbroken

    biết vẽ arc

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

Đã gửi 10 November 2016 - 01:22 PM

các bác cho em hỏi. có cách nào để đưa đường Mline về Z=0 được không. 


  • 0

Giaminh19@gmail.com


#17 Bee

Bee

    biết lệnh trim

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

Đã gửi 10 November 2016 - 06:59 PM

các bác cho em hỏi. có cách nào để đưa đường Mline về Z=0 được không. 

Vẫn là point 10 và point 11 có z khác 0.  Như line thôi ^_^


  • 0

#18 unbroken

unbroken

    biết vẽ arc

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

Đã gửi 11 November 2016 - 01:20 PM

Vẫn là point 10 và point 11 có z khác 0.  Như line thôi ^_^

OK! minh dung cad 16 chuyen ok. thank nha


  • 0

Giaminh19@gmail.com


#19 hocdvauto

hocdvauto

    Chưa sử dụng CAD

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

Đã gửi 11 November 2016 - 01:47 PM

Trước mình cũng đam mê bên lĩnh vực này mà ba mẹ hok cho tham gia :D, nhưng vẽ CAD khá là thú vị :)


  • 0

Chevrolet Cruze cùng với Chevrolet ColoradoChevrolet Trax 2017 chuẩn bị về Việt Nam