Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
tuannguyen314169

autolisp 3d

Các bài được khuyến nghị

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.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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

- ....

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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 à.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.com/forum/index.php?showtopic=10005 , nếu không đúng thì bạn nên có ví dụ cụ thể nhé.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.com/forum/index.php?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.com/upfiles/TN20.txt

Cảm ơn các bác rất nhiều.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.com/upfiles/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)
)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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 ""))

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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 ...

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay
Đăng nhập để thực hiện theo  

×