Đến nội dung


Hình ảnh
- - - - -

xin lisp chuyển toạ độ z =0???


  • Please log in to reply
9 replies to this topic

#1 quangthanhdu

quangthanhdu

    biết vẽ rectang

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

Đã gửi 16 March 2011 - 11:39 PM

Em có một bãn vẽ 2D nhưng khi xem thuộc tính của đối tượng thì thấy toạ độ z khác giá trị không?? có rất nhiều đối lượng line và arc có thuộc tính như vậy! Xin hỏi có cái lisp nào chuyển toạ độ z=0 các đối tượng đó.Chân thành cảm ơn.
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 17 March 2011 - 06:59 AM

Bạn đã post 30 bài rồi, vậy thì cũng nên tìm trên diễn đàn xem đã có vấn đề của mình chưa đã. Trong trường hợp của bạn thì đã có kha khá bài viết rồi. Ví dụ :
http://www.cadviet.c...nhu_the_nao/47/
Ở đây mình viết tạm lisp FL này cho Arc,Line,Dim,Xline,block,Ray,Circle,LWPl lúc nào rảnh mình up thêm

(defun c:fl(/ ss etype)
(setq ss (ssget '((-4 . "<OR")
(0 . "LINE")
(0 . "RAY")
(0 . "XLINE")
(0 . "INSERT")
(0 . "CIRCLE")
(0 . "DIMENSION")
(0 . "LWPOLYLINE")
(0 . "ARC")
(-4 . "OR>")
)))
(defun chDXF (dxf val ent) (entmod (subst (cons dxf val) (assoc dxf (entget ent)) (entget ent))))
(defun dxf (dxf ent) (cdr (assoc dxf (entget ent))))
(setq ss (acet-ss-to-list ss))
(foreach e ss
(setq etype (dxf 0 e))
(cond
((= etype "LWPOLYLINE") (chDxf 38 0 e))
((or (= etype "ARC")(= etype "CIRCLE")(= etype "INSERT"))(chdxf 10 (subst 0 (caddr (dxf 10 e)) (dxf 10 e)) e))
((or (= etype "LINE")(= etype "DIMENSION")(= etype "XLINE")(= etype "RAY"))
(chdxf 10 (subst 0 (caddr (dxf 10 e)) (dxf 10 e)) e)
(chdxf 11 (subst 0 (caddr (dxf 11 e)) (dxf 11 e)) e)
)

)
)
(princ "\n Free lisp from Cadviet.com @ketxu")
(princ)
)

  • 2

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


#3 duyhung

duyhung

    biết vẽ rectang

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

Đã gửi 17 March 2011 - 10:28 AM

Cho mình hỏi chút về lisp này?
(setq ss (acet-ss-to-list ss))
hàm này có td j vậy, mình tra help mà hổng có?
và (defun dxf (dxf ent)... ko cần phải thêm dấu "/" (defun dxf (/ dxf ent)...
Có phải chỉ có "/" khi biến là biến toàn cục, còn hàm con kia là biến cục bộ?
  • 0
Song va chien dau!

#4 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 17 March 2011 - 11:19 AM

Đúng rồi đó bạn.
- (acet-ss-to-list sset) là hàm thuộc Expresstool, có tác dụng biến tập selection set lấy ra trong hàm (ssget) thành list các ename của các đối tượng
- (defun dxf (dxf ent)) : dxf và ent là 2 đối số của hàm con này.Chỗ này bạn bị hiểu ngược.Biến toàn cục thì không thể / (bỏ) nó đi sau khi kết thúc được. Còn nếu có /, nó sẽ bị loại bỏ giá trị sau khi hoàn thành
  • 0

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


#5 duyhung

duyhung

    biết vẽ rectang

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

Đã gửi 17 March 2011 - 11:24 AM

Oki bạn ketxu :lol: thanks
  • 0
Song va chien dau!

#6 hoangtranlong

hoangtranlong

    biết vẽ polygon

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

Đã gửi 12 April 2012 - 05:08 PM

em down list này về nhưng không thấy hiện tượng gì khi dùng lệnh FL cả đường thẳng vẫn có toạ độ Z khác không. NHờ bác chỉ giùm với. Em thường dùng lệnh MO nhưng đối với đường cong thì không được
  • 0

#7 NguyenNgocSon

NguyenNgocSon

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 368 Bài viết
Điểm đánh giá: 39 (tàm tạm)

Đã gửi 12 April 2012 - 05:12 PM

Hình như có lệnh Flatten chuyển cao độ về 0 ?
Command: flatten
Initializing...
Select objects to convert to 2d...
  • 0

#8 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 12 April 2012 - 11:12 PM

em down list này về nhưng không thấy hiện tượng gì khi dùng lệnh FL cả đường thẳng vẫn có toạ độ Z khác không. NHờ bác chỉ giùm với. Em thường dùng lệnh MO nhưng đối với đường cong thì không được

Mình viết 1 cái Quick Flat ở đây
  • 0

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


#9 tunghoangde1992

tunghoangde1992

    Chưa sử dụng CAD

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

Đã gửi 04 April 2015 - 09:29 AM

 các bác giúp e chuyển về đồng phẳng với. e đang gấp lắm rùi :(

http://www.cadviet.c...1_sua_lan_3.dwg


  • 0

#10 namnhim

namnhim

    biết vẽ polygon

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

Đã gửi 04 April 2015 - 03:35 PM

như thế này được chưa bạn?

http://www.cadviet.c...1_sua_lan_3.dwg


  • 0