Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Lisp xuất hình chiếu từ solid


  • Please log in to reply
7 replies to this topic

#1 Truong_AAn

Truong_AAn

    biết dimradius

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

Đã gửi 04 April 2012 - 01:09 PM

Em mới tham gia cadviet cũng được một thời gian chưa lâu. Em thích mấy cái autolisp nhưng chả hiểu lập trình thế nào nên chẳng viết ra được. Hôm nay post bài này nhờ các cao thủ về autolisp viết giúp em cái lisp xuất hình chiếu 2d từ môt khối solid 3d. Mong các pác quan tâm viết giup em với.
yêu cầu thế này:
Em có một solid 3d bên model em muốn lấy một hình chiếu 2D của solid đó lên một mặt phẳng của hệ trục tọa độ ( đầy đủ đường khuất) mà không cần phải qua layout dùng lệnh SOLPROF
Mong các pác giúp em với Thks các pác trước nha
file em đây
http://www.cadviet.c...6444_xuathc.dwg
  • 0
Hình đã gửi
----------------------------------------------------------------------------------//-------------------------------------------------------------------------------------

#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 16 August 2013 - 07:56 PM

nếu bạn muốn xuât 1 hình chiếu len mặt phẳng tọa độ thì dung lệnh: flatshot la ok ma. lenh nay chỉ có từ autocad2008 tro di thoi..


  • 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 16 August 2013 - 08:00 PM

tớ đã gửi lisp xuất 6 hình chiếu 1 lúc. cho bạn rồi. co thắc mắc gì. anh em mình cùng nhau trao đổi nhé. to cũng tham khảo cua mấy bậc tiền bối trên diễn dàn rồi sửa lại. và thêm 1 số tiện ích thôi


  • 0

#4 Namvanvo

Namvanvo

    Edu level: li5

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

Đã gửi 16 August 2013 - 10:38 PM

Bạn nguyenbd1 gửi dùm mình cái lisp trên với nhé, thank nhìu.
  • 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 17 August 2013 - 09:44 AM

bạn ơi! ban lam trong nghành gì vậy ạ. nếu mà cơ khí thì được. vì lip này chỉ xuất  hình chiếu dạng solid thôi. chứ surface thi không được bạn ạ


  • 0

#6 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 17 August 2013 - 10:03 AM

tớ là lính mới.. mới tập tõm autolisp.. và cảm thấy những điều autolisp làm thật kỳ diệu...mong anh em trong diễn đàn cùng nhau chia sẻ để cùng nhau tiến bộ.

sau đây là lip mình mày mò va tham khảo ý kiến các anh em trên diễn đàn.

đây là lisp ve trục trong cơ khí. vẽ nhanh, lấy luôn kích thước các doan trục. vẽ luôn cả đường tậm

rất dễ thực hiện vì mỗi bước đều có hướng dẫn trên dòng command:, đọc kỹ những dòng đó nha

 

(Defun c:T6() (setvar "dimtxt" 2.5);

(setvar "dimdli" 2.8) ; 

 (setvar "dimasz" 1.2); 

 (setvar "dimclre" 82) ;
 (setvar "dimclrt" 82) ; 

 (setvar "dimclrd" 82);  
 (setvar "dimtad" 0)
(vl-load-com)
(command "ucs" "W")
(command "LTSCALE" "3")
(command "undo" "be")
(setq a (getpoint "\n xin chao! day la chuong trinh ve truc trong co khi. Duoc viet boi <<nguyenbd159@Gmail.com>>. hay nhap diem dau tien cua doan truc: "))
(setq b (getpoint a"\n VUI LONG NHAP CHIEU DAI DOAN TRUC : "))
(command ".line" a b "")
(if (= droffld nil)
(setq droffld1 2.00)
(setq droffld1 droffld)
)
(setq
droffld (GETREAL (strcat "\nVUI LONG NHAP DUONG KINH TRUC. SAU DO CHON DOAN THANG VUA VE TREN DESTOP TRU CAC KICH THUOC TRUC : <" (rtos droffld1 2 2) ">"))
)
(if (= droffld nil)
(setq droffld droffld1)
)

(if (= droffled nil)
(setq droffled1 2.00)
(setq droffled1 droffled)
)

(if (= droffled nil)
(setq droffled droffled1)
)


(setq offlong (/ droffld 2))
(setq offle (+ offlong droffled))

(setq SS (ssget (list (cons 0 "arc,ellipse,lwpolyline,spline,line,circle"))))
(setq i 0)
(setq N (sslength ss))
(while (< i N)
(setq TEXTENT (ssname SS i))
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)

(setq diemchuan (vlax-curve-getPointAtDist TEXTENT 0))
(setq diemdinhhuong (vlax-curve-getPointAtDist TEXTENT 0.01))
(setq goc (angle diemchuan diemdinhhuong))
(setq diembentrai (polar diemchuan (- goc (/ pi 2)) offle))
(setq diembenphai (polar diemchuan (+ goc (/ pi 2)) offle))

(command ".offset" offlong textent diembentrai "")
(command ".offset" offlong textent diembenphai "")
(command "CHANGE" "P" "" "Properties"  "Color"  "10" "" )
(command "CHANGE" "P" "" "Properties"  "lt"  "center" "" )

(setq i (1+ i))
(setvar "osmode" luubatdiem)
)

(command "undo" "end")
(setq a (getpoint "\nChon diem ve duong bien giua cac doan truc: "))
(setq b (getpoint a "\nChon diem tiep theo: "))
(command ".line" a b "")
(getpoint "bay gio hay enter 2 lan sau do chon duong thang vua ve tren de lay khich thuoc duong kinh doan truc ")
(command "dim" "VER" pause pause "T" "%%C<>" pause *Cancel*  *Cancel* )
(getpoint "NEU CHUA VE XONG TAT CA DOAN TRUC THI AN NUT ESC, NEU DA VE XONG THI HAY CHON 1 DIEM LAM GOC TOA DO SAU DO LAY KICH THUOC CHIEU DAI CAC DOAN TRUC")

(command "ucs" "M"  PAUSE )
(command "qdim"  )
)

 

**************************************

mong anh em trong diễn đàn cùng nhau chia sẻ để diễn đàn ngày càng sôi nổi hơn


  • 1

#7 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 17 August 2013 - 10:07 AM

anh em. ai có tài liệu học lisp kong. cho tôi xin với.. đang mày mò mà tài liệu hiếm quá. nếu có tài liệu của Nguyễn Hữu Lộc thi càng tốt. cảm ơn cả nhà trước nhé


  • 0

#8 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 17 August 2013 - 10:17 AM

co gì anh em mình cùng liên lạc gmail mình là "nguyenbd159@gmail.com


  • 0