Đến nội dung


Hình ảnh
- - - - -

nhờ sửa lisp


  • Please log in to reply
4 replies to this topic

#1 nguyenbd1

nguyenbd1

    biết lệnh text

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

Đã gửi 26 September 2013 - 08:32 PM

chào anh em cad việt. hôm nay tớ có 1 lisp xuất các hình chiếu từ solid ra các hình chiếu top, font, back, left, right và iso.. nhờ các pro chỉnh các khuyết điểm sau.

kd1. mỗi lần xuất chỉ được 1 solid

kd2. khoảng cách giữa các hình chiếu (top, font, left...) lúc xuất ra lúc thì xa quá. lúc thì chồng lên nhau..

xin các bậc tiền bối giúp em

sửa về kd1: chọn được nhiều solid 1 lần.

sửa về kd2: tự động điều chỉnh khoảng cách giữa các hình chiếu dựa vào đối tượng solid gốc.

 

Thực ra đây là chuỗi lệnh trong cad...(xin lỗi các anh em tớ chưa bàn tới hướng chiếu tiêu chuẩn ở đây)http://www.cadviet.c...h_chieuf2_1.lsp

thao tác lệnh như sau.

1-di chuyển ucs vào chính giữa tâm chi tiết  (vì đây là chi tiết 3d solid nên tớ không biết làm sao xác định tâm chính xác)

2- sau đó di chuyển chi tiết solid 1 khoảng ( b­ước này quyết định khoảng cách giữa các hình chiếu mà tớ hỏi các bạn trên kd2( khuyết điểm 2)-bước này mình làm thủ công là chọn 2 điểm trên màn hình.

3_ chuyển sang layout dùng lệnh solprof xuất hình chiếu top ( bước thì chuẩn men_không phải bàn cãi)

4_sau đó là rotate3d  solid theo cùng chiều kim đồng hồ quanh trục x.( ở bước này mới chính thức xác định khoảng cách khoảng cách tương đối với solid gốc hay là khoảng cách các hình chiếu sau khi kết thúc chuỗi lệnh => dùng lệnh solprof xuất hình chiếu ta được hình chiếu right. next  rotae3d trở về vị trí top..

làm các bước tương tự như vây với các hướng xuay khác nhau ta được các hình chiếu left, form.back, iso

 

tóm lại: theo tớ những yếu tố ảnh hưởng tới 2 khuyết điểm trên đó là.

1-không xác định được tâm chính xác của solid( chỉ chon theo thủ công)

2-từ việc xác định tâm không chính xác nên lúc di chuyển solid cũng ảnh hưởng

 

ý tưởng:

-dùng hàm gì đó để xác  dịnh các tâm chính xác của các solid vì mỗi lần xuất thì ucs phải nằm tại tâm chi tiết ( có thể kết hợp nhiều hàm với hàm while. khả năng lisp tớ có hạn

-tự động xác dịnh khoảng cách dựa vào solid gốc trên bước 2

thật sự tớ chỉ hiểu có vậy thôi. mong anh em chỉ giáo. có gì sai mong anh em lượng thứ.


  • 0

#2 nguyenbd1

nguyenbd1

    biết lệnh text

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

Đã gửi 27 September 2013 - 08:17 PM

chào anh em cad việt. hôm nay tớ có 1 lisp xuất các hình chiếu từ solid ra các hình chiếu top, font, back, left, right và iso.. nhờ các pro chỉnh các khuyết điểm sau.

kd1. mỗi lần xuất chỉ được 1 solid

kd2. khoảng cách giữa các hình chiếu (top, font, left...) lúc xuất ra lúc thì xa quá. lúc thì chồng lên nhau..

xin các bậc tiền bối giúp em

sửa về kd1: chọn được nhiều solid 1 lần.

sửa về kd2: tự động điều chỉnh khoảng cách giữa các hình chiếu dựa vào đối tượng solid gốc.

 

Thực ra đây là chuỗi lệnh trong cad...(xin lỗi các anh em tớ chưa bàn tới hướng chiếu tiêu chuẩn ở đây)http://www.cadviet.c...2_1.lsp&w=81845

thao tác lệnh như sau.

1-di chuyển ucs vào chính giữa tâm chi tiết  (vì đây là chi tiết 3d solid nên tớ không biết làm sao xác định tâm chính xác)

2- sau đó di chuyển chi tiết solid 1 khoảng ( b­ước này quyết định khoảng cách giữa các hình chiếu mà tớ hỏi các bạn trên kd2( khuyết điểm 2)-bước này mình làm thủ công là chọn 2 điểm trên màn hình.

3_ chuyển sang layout dùng lệnh solprof xuất hình chiếu top ( bước thì chuẩn men_không phải bàn cãi)

4_sau đó là rotate3d  solid theo cùng chiều kim đồng hồ quanh trục x.( ở bước này mới chính thức xác định khoảng cách khoảng cách tương đối với solid gốc hay là khoảng cách các hình chiếu sau khi kết thúc chuỗi lệnh => dùng lệnh solprof xuất hình chiếu ta được hình chiếu right. next  rotae3d trở về vị trí top..

làm các bước tương tự như vây với các hướng xuay khác nhau ta được các hình chiếu left, form.back, iso

 

tóm lại: theo tớ những yếu tố ảnh hưởng tới 2 khuyết điểm trên đó là.

1-không xác định được tâm chính xác của solid( chỉ chon theo thủ công)

2-từ việc xác định tâm không chính xác nên lúc di chuyển solid cũng ảnh hưởng

 

ý tưởng:

-dùng hàm gì đó để xác  dịnh các tâm chính xác của các solid vì mỗi lần xuất thì ucs phải nằm tại tâm chi tiết ( có thể kết hợp nhiều hàm với hàm while. khả năng lisp tớ có hạn

-tự động xác dịnh khoảng cách dựa vào solid gốc trên bước 2

thật sự tớ chỉ hiểu có vậy thôi. mong anh em chỉ giáo. có gì sai mong anh em lượng thứ.


 

 

  • 0

#3 nguyenbd1

nguyenbd1

    biết lệnh text

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

Đã gửi 24 November 2013 - 10:49 PM

http://www.cadviet.c...2369_xuatt7.zip


  • 0

#4 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 25 November 2013 - 10:13 AM

    (setq dt (ssget))
    (setq ol (mapcar 'vlax-ename->vla-object(vl-remove-if 'listp (mapcar 'cadr (ssnamex dt)))))
    (foreach e ol
        (vla-getboundingbox e 'bl 'tr)
        (setq bl (safearray-value bl)  tr (safearray-value tr))
        (if p1
            (setq p1 (mapcar 'min p1 bl)  p2 (mapcar 'max p2 tr))
            (setq p1 bl p2 tr))
    )
 

Nhớ đặt p1, p2 là biến cục bộ hoặc set = nil

p1, p2 là tọa độ max, min của hình hộp bao quanh dt

Từ p1, p2 tính ra các điểm khác VD a là trung điểm p1, p2


  • 0

#5 nguyenbd1

nguyenbd1

    biết lệnh text

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

Đã gửi 27 November 2013 - 05:28 PM

xin lỗi bạn ndtnv đoạn mã lisp trên tớ không hiểu tác dụng của nó, bạn có thể giải thích rỏ công dụng và ứng dụng trong lisp xuất hình chiếu của mình được không ạ


  • 0