Đến nội dung


Hình ảnh
- - - - -

autolisp 3d


  • Please log in to reply
11 replies to this topic

#1 tuannguyen314169

tuannguyen314169

    biết lệnh ddedit

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

Đã gửi 25 April 2009 - 08:11 PM

Mình muốn vẽ một vật 3D bằng các tọa độ sẵn có x, y, z bằng các đường line và spline liên tục. Nhờ các Bác trên diễn đàn giúp cho. Thanh you very much.
  • 0

#2 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 25 April 2009 - 08:42 PM

Mình muốn vẽ một vật 3D bằng các tọa độ sẵn có x, y, z bằng các đường line và spline liên tục. Nhờ các Bác trên diễn đàn giúp cho. Thanh you very much.

Chưa hiểu ý bạn.

Bạn muốn là:
- Từ các toạ độ x, y, z trên giấy (hoặc trong suy nghĩ của bạn) bạn nhập ra thành các line, spline hay
- từ các point 3d trên không gian bạn nhập thành line, spline hay
- từ các line, spline 3d có sẵn biến thành 1 hình 3d nào đó hay
- từ các wireframe (line,spline) của đối tượng 3d dựng lại đối tượng đó hay
- ....
  • 1

#3 haanh

haanh

    biết lệnh adcenter

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

Đã gửi 25 April 2009 - 09:33 PM

Mình muốn vẽ một vật 3D bằng các tọa độ sẵn có x, y, z bằng các đường line và spline liên tục. Nhờ các Bác trên diễn đàn giúp cho. Thanh you very much.


Câu hỏi của bác gây khó hiểu ko cần thiết bác phải mô ta định vẽ vật thể gì??? Tốt nhất bác upload file bản vẽ của bác lên dễ trao đổi hơn.
Vẽ kỹ thuật vẽ hình vẽ kích thước vẽ mặt cắt theo đúng quy chuẩn... chính là ngôn ngữ giao tiếp đơn giản và dễ hiểu nhất của mọi thời đại đấy bác à.
  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#4 tuannguyen314169

tuannguyen314169

    biết lệnh ddedit

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

Đã gửi 25 April 2009 - 10:03 PM

Chưa hiểu ý bạn.

Bạn muốn là:
- Từ các toạ độ x, y, z trên giấy (hoặc trong suy nghĩ của bạn) bạn nhập ra thành các line, spline hay
- từ các point 3d trên không gian bạn nhập thành line, spline hay
- từ các line, spline 3d có sẵn biến thành 1 hình 3d nào đó hay
- từ các wireframe (line,spline) của đối tượng 3d dựng lại đối tượng đó hay
- ....


Câu hỏi của bác gây khó hiểu ko cần thiết bác phải mô ta định vẽ vật thể gì??? Tốt nhất bác upload file bản vẽ của bác lên dễ trao đổi hơn.
Vẽ kỹ thuật vẽ hình vẽ kích thước vẽ mặt cắt theo đúng quy chuẩn... chính là ngôn ngữ giao tiếp đơn giản và dễ hiểu nhất của mọi thời đại đấy bác à


Mình muốn hỏi cụ thể là trên file*xls or *txt chuyển thành autocard nhờ lisp như sau:
Point1 spline -8.2 1.935 1.5
2 spline -8.2 2.02 1.7
3 spline -8.2 2.085 2.7
4 pline -8.2 1.935 3

6 spline -7.2 1.98 1.2
7 spline -7.2 2.06 1.5
8 spline -7.2 2.1 1.7
9 spline -7.2 2.155 2.65
10 pline -7.2 3.78 1.2
Cảm ơn các Bác rất nhiều vì đã quan tâm.
  • 0

#5 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 25 April 2009 - 11:35 PM

Vấn đề trở nên tối đi, không sáng hơn ban đầu được chút nào cả.

sao bạn không upload file txt và file dwg lên diễn đàn?
  • 0

#6 tdvn

tdvn

    biết lệnh rotate

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

Đã gửi 26 April 2009 - 12:08 PM

Câu hỏi của bác gây khó hiểu ko cần thiết bác phải mô ta định vẽ vật thể gì??? Tốt nhất bác upload file bản vẽ của bác lên dễ trao đổi hơn.
Vẽ kỹ thuật vẽ hình vẽ kích thước vẽ mặt cắt theo đúng quy chuẩn... chính là ngôn ngữ giao tiếp đơn giản và dễ hiểu nhất của mọi thời đại đấy bác à
Mình muốn hỏi cụ thể là trên file*xls or *txt chuyển thành autocard nhờ lisp như sau:
Point1 spline -8.2 1.935 1.5
2 spline -8.2 2.02 1.7
3 spline -8.2 2.085 2.7
4 pline -8.2 1.935 3

6 spline -7.2 1.98 1.2
7 spline -7.2 2.06 1.5
8 spline -7.2 2.1 1.7
9 spline -7.2 2.155 2.65
10 pline -7.2 3.78 1.2
Cảm ơn các Bác rất nhiều vì đã quan tâm.

Chức năng tìm kiếm trên diễn đàn này quả là chán thật. Mình thấy chủ đề này quen quen thế mà tìm đúng chữ "Autolisp 3D" nó cũng không ra, đành phải mò ngược lại. Nói chung khi cần vấn đề gì bạn nên nói rõ, dễ hiểu vì rất nhiều lĩnh vực khác nhau không phải ai cũng hiểu hết đc. Bạn không nên nói cái kiểu như vậy "Vẽ kỹ thuật vẽ hình vẽ kích thước vẽ mặt cắt theo đúng quy chuẩn... chính là ngôn ngữ giao tiếp đơn giản và dễ hiểu nhất của mọi thời đại đấy bác à". Bạn đang hỏi mà mình cứ tưởng bạn đang dạy vậy. Nói vậy thôi, bạn có thể tham khảo tại đây http://www.cadviet.c...showtopic=10005 , nếu không đúng thì bạn nên có ví dụ cụ thể nhé.
  • 0

#7 tuannguyen314169

tuannguyen314169

    biết lệnh ddedit

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

Đã gửi 02 May 2009 - 09:47 PM

Chức năng tìm kiếm trên diễn đàn này quả là chán thật. Mình thấy chủ đề này quen quen thế mà tìm đúng chữ "Autolisp 3D" nó cũng không ra, đành phải mò ngược lại. Nói chung khi cần vấn đề gì bạn nên nói rõ, dễ hiểu vì rất nhiều lĩnh vực khác nhau không phải ai cũng hiểu hết đc. Bạn không nên nói cái kiểu như vậy "Vẽ kỹ thuật vẽ hình vẽ kích thước vẽ mặt cắt theo đúng quy chuẩn... chính là ngôn ngữ giao tiếp đơn giản và dễ hiểu nhất của mọi thời đại đấy bác à". Bạn đang hỏi mà mình cứ tưởng bạn đang dạy vậy. Nói vậy thôi, bạn có thể tham khảo tại đây http://www.cadvie t....showtopic=10005 , nếu không đúng thì bạn nên có ví dụ cụ thể nhé.

Mình vẫn làm chưa được mong các bác giúp viết cho lisp đường sline sau:
http://www.cadviet.c...pfiles/TN20.txt
Cảm ơn các bác rất nhiều.
  • 0

#8 tdvn

tdvn

    biết lệnh rotate

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

Đã gửi 03 May 2009 - 12:28 AM

Mình vẫn làm chưa được mong các bác giúp viết cho lisp đường sline sau:
http://www.cadviet.c...pfiles/TN20.txt
Cảm ơn các bác rất nhiều.

Cái file txt của bác đã format không đúng định dạng. Các dòng trống có các ký tự rác (là các ký tự "tab"). Bạn hãy vào excel mở file đó và saveas lại theo đúng định dạng Text (Tab demilited) (*.txt). Sau đó chuơng trình sẽ chạy đúng cho bạn. Hoặc bạn lấy code mới như sau :
;ve spline
(defun C:VESPL( / n1 f1 st lis p shd kt)
;;;;
(defun trim( st)
(while (or (= (substr st 1 1) " ") (= (substr st 1 1) "\t")) (setq st (substr st 2)))
st
)
(defun ptdanhsach(st ch / st1 i lis ch1)
(setq st1 "")
(setq i 1 lis nil)
(while (<= i (strlen st))
(setq ch1 (substr st i 1))
(if (= ch ch1) (progn
(setq lis (append lis (list st1)))
(setq st1 "")
) (progn
(setq st1 (strcat st1 ch1))
(if (= i (strlen st)) (setq lis (append lis (list st1))))
)
)
(setq i (1+ i))
)
lis
)
;;ham chinh
(setq n1 (opr "Ten file toa do : " "txt"))
(setq f1 (open n1 "r") kt nil)
(while (setq st (read-line f1))
(if (/= (trim st) "") (progn
(setq lis (ptdanhsach st "\t") p nil)
(cond
((= (length lis) 4)
(setq shd (nth 0 lis) p (list (atof (nth 1 lis)) (atof (nth 2 lis)) (atof (nth 3 lis))))
)
((= (length lis) 3)
(setq p (list (atof (nth 1 lis)) (atof (nth 2 lis)) (atof (nth 3 lis))))
)
(T (setq p nil))
)
(if p (progn
(if (null kt) (progn
(setq kt T)
(command "_.spline" p)
) (command p))
))
) (progn
(command "" "" "")
(setq kt nil p nil)
))
)
(if (and kt p) (command "" "" ""))
(close f1)
(princ)
)

  • 0

#9 tuannguyen314169

tuannguyen314169

    biết lệnh ddedit

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

Đã gửi 03 May 2009 - 11:07 AM

[quote name='tdvn' date='May 3 2009, 0:28' post='58208']
Cái file txt của bác đã format không đúng định dạng. Các dòng trống có các ký tự rác (là các ký tự "tab"). Bạn hãy vào excel mở file đó và saveas lại theo đúng định dạng Text (Tab demilited) (*.txt). Sau đó chuơng trình sẽ chạy đúng cho bạn. Hoặc bạn lấy code mới như sau :
Cảm ơn Bác rất nhiều. Tôi đã làm theo hướng dẫn của Bác nhưng không được. Tôi thấy với đoạn code vừa rồi chỉ chạy được với các đường spline 7 điểm trở xuống nhưng từ 8 điểm trở lên thì không chạy được như ( file TN20.txt ). Thực ra mình không biết các ký tự rác Bác có thể chỉ giúp mình. Mong Bác bỏ ít thời gian giúp mình. Thanks
  • 0

#10 tdvn

tdvn

    biết lệnh rotate

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

Đã gửi 04 May 2009 - 12:15 AM

Mình đã tải cái file txt của bạn và đã chạy thử. Tuy nhiên, sau khi post lisp mới cho bạn thì mình quên một vài hàm con nên bạn chạy không đc
Còn cái file của bạn mình nói có rác là vì theo cái lisp cũ, khi kiểm tra dòng trống tức là không có ký tự nào cả thì mới chạy đúng. Còn file txt của bạn ở dòng trống còn có 4 ký tự do bạn nhấn phím "tab" 4 lần nên nó chạy không đúng. Mình đã chỉnh lại rồi. Bạn thử đi.
Mình post lại ở đây
;ve spline
(defun C:VESPL( / n1 f1 st lis p shd kt)
;;;;
(defun opw( tieude duoi)
(setq duongdanfile (getfiled tieude duongdanfile duoi 7))
)
(defun opr( tieude duoi)
(setq duongdanfile (getfiled tieude duongdanfile duoi 6))
)

(defun trim( st)
(while (or (= (substr st 1 1) " ") (= (substr st 1 1) "\t")) (setq st (substr st 2)))
st
)
(defun ptdanhsach(st ch / st1 i lis ch1)
(setq st1 "")
(setq i 1 lis nil)
(while (<= i (strlen st))
(setq ch1 (substr st i 1))
(if (= ch ch1) (progn
(setq lis (append lis (list st1)))
(setq st1 "")
) (progn
(setq st1 (strcat st1 ch1))
(if (= i (strlen st)) (setq lis (append lis (list st1))))
)
)
(setq i (1+ i))
)
lis
)
;;ham chinh
(setq n1 (opr "Ten file toa do : " "txt"))
(setq f1 (open n1 "r") kt nil)
(while (setq st (read-line f1))
(if (/= (trim st) "") (progn
(setq lis (ptdanhsach st "\t") p nil)
(cond
((= (length lis) 4)
(setq shd (nth 0 lis) p (list (atof (nth 1 lis)) (atof (nth 2 lis)) (atof (nth 3 lis))))
)
((= (length lis) 3)
(setq p (list (atof (nth 1 lis)) (atof (nth 2 lis)) (atof (nth 3 lis))))
)
(T (setq p nil))
)
(if p (progn
(if (null kt) (progn
(setq kt T)
(command "_.spline" p)
) (command p))
))
) (progn
(command "" "" "")
(setq kt nil p nil)
))
)
(if (and kt p) (command "" "" ""))
(close f1)
(princ)
)

(if (null duongdanfile) (setq duongdanfile ""))

  • 0

#11 tuannguyen314169

tuannguyen314169

    biết lệnh ddedit

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

Đã gửi 04 May 2009 - 09:10 AM

[quote name='tdvn' date='May 4 2009, 0:15' post='58257']
Mình đã tải cái file txt của bạn và đã chạy thử. Tuy nhiên, sau khi post lisp mới cho bạn thì mình quên một vài hàm con nên bạn chạy không đc
Còn cái file của bạn mình nói có rác là vì theo cái lisp cũ, khi kiểm tra dòng trống tức là không có ký tự nào cả thì mới chạy đúng. Còn file txt của bạn ở dòng trống còn có 4 ký tự do bạn nhấn phím "tab" 4 lần nên nó chạy không đúng. Mình đã chỉnh lại rồi. Bạn thử đi.
Cảm ơn Bác rất nhiều, có lẽ bàn phím mình có vấn đề nên có lúc thực hiện được có lúc không. Ký tự tab rất khó phát hiện, làm thế nào Bác biết được chỉ giúp mình với.
  • 0

#12 tdvn

tdvn

    biết lệnh rotate

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

Đã gửi 05 May 2009 - 12:45 AM

Ký tự tab rất khó phát hiện, làm thế nào Bác biết được chỉ giúp mình với.

Đơn giản thôi mà. Khi bạn đang trong một trình soạn thảo đơn giản, như nodepad chẳng hạn. Ngay tại dòng trống, bấm phím "End", nếu không có ký tự nào thì "con nháy" vẫn đứng ở đầu dòng, nếu có ký tự khác thì "con nháy" sẽ chạy đến cuối dòng ...
  • 0