Chuyển đến nội dung
Diễn đàn CADViet
Phiphi-

[Đã xong] Lisp xuất-nhập toạ độ

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

Hi Nataca, PP chỉ làm công việc của 1 CADD drafter 3D cùng với nhóm thiết kế 1 hệ thống điện cao thế ngầm dưới đất từ nhá máy điện đến trung tâm phân phối trong thành phố (cách xa nhau hơn chục Km) Các đường cáp điện cao thế này sẽ nằm dưới các hệ thống đường ống Gas, Water, Sewer, Điện thoại, điện đường giao thông vv...đã có sằn rồi (hoặc lắp đặt thêm). Yêu cầu an toàn của các cáp cao thế rất chặt chẻ, cần phải cách xa các bề mặt bên trên và các hệ thống đưởng ống khác ngầm dưới đất những khoảng cách quy định, vì vậy bài toán này là vẽ các đường ống/cables 3D, các Profiles, mặt cắt ở những chổ sẽ giao nhau...Input là tập hợp các sơ đồ của các hệ thống Gas, Water, Sewer, Điện thoại, điện đường giao thông vv...Các bản vẽ khảo sát cũ và thuê cty khảo sát khi cần. Nói chung như vậy thì chắc Nataca sẽ hiểu.

Bây giờ PP xin up thêm Lisp khác:

+ Lệnh XDIV dùng chia đường cong, Lines, Pline 3D (chỉ vẽ các Points) theo các đoạn khác nhau do user nhập.

+ Lệnh PTEXPORT xuất các points hay Pline ra file .txt

+ Lệnh 3DOFFSET dùng offset các Pline 3D

+ Lệnh 3PEDIT chỉ dùng nối 2 Pline 3D với nhau. Lisp này cần sửa để có thể select nhiều Pline cùng 1 lúc.

http://www.cadviet.com/upfiles/Lisp_bo_sung_2_.zip

Anh ơi, lick die rồi hay sao e tải ko về đc, mong a chia sẻ lại cho e với, e chân thành cám ơn, gmail e là dungsl711@gmail.com

thank a, mong nhận đc câu trả lời sớm từ a

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

" Lệnh IMPORTXYZ dùng đọc toạ độ từ file text rồi vẽ Points, Circle, Lines, Block ... vào b/v CAD.
Link down của LISP: http://www.jefferyps...m/IMPORTXYZ.zip
(Nhớ tạo đường dẩn để Lisp open file IMPORTXYZ.DCL)
Lisp của JefferyPSanders.com "

 

thanks bác vì đã chia sẻ lisp rất hay. Mình muốn nhờ mọi người có thể thêm lệnh ghi cao độ của điểm đó vào text đặt cạnh điểm đó được không? Mong mọi người giúp đỡ

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

Anh em nào có lisp coppy thông minh theo dạng tùy chọn điểm không ( VD có sẵn điểm  0.00 muốn coppy sang điểm B có khoảng cách 2.00 thi số 0.00 nhảy thành 2.00) trong khoảng cách cộng dồn trong bản vẽ đường hay thủy lợi đó. cam ơn cac bác nhé. mong chỉ cho em cá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

Anh em nào có lisp coppy thông minh theo dạng tùy chọn điểm không ( VD có sẵn điểm  0.00 muốn coppy sang điểm B có khoảng cách 2.00 thi số 0.00 nhảy thành 2.00) trong khoảng cách cộng dồn trong bản vẽ đường hay thủy lợi đó. cam ơn cac bác nhé. mong chỉ cho em cái

Hề hề hề,

Gửi bản vẽ lên, mô tả rõ điều bạn cần. Nói như rứa thiệt khó hình dung. Nên nhớ một điểm trong Cad sẽ tùy từng trường hợp mà có thể có 2 hoặc 3 tọa độ kèm theo. Chọn cái nào để ghi??? Nếu là ghi khoảng cách thì sẽ có rất nhiều điểm có cùng giá trị ghi, vậy ghi thế nào???

Chỉ cho em cái thì hơi khó chứ còn chỉ cho em đực thì không phải là không thể....

Hề hề hề,...

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

+ Lệnh IMPORTXYZ dùng đọc toạ độ từ file text rồi vẽ Points, Circle, Lines, Block ... vào b/v CAD.

Link down của LISP: http://www.jefferypsanders.com/IMPORTXYZ.zip

(Nhớ tạo đường dẩn để Lisp open file IMPORTXYZ.DCL)

Lisp của JefferyPSanders.com

? Cấu trúc của file Text thế nào hả bác PP

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

Bác Phi Phi up lại link autolisp1 được không, mình đang rất cần lisp xpipe và xtube để vẽ đường ống cong bất lì mà vào link của bác thì ko down  được vì quá tải. Cảm ơn 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

Hiện tại mình đang thi công đường, khi xuất các toạ độ điểm trên mặt cắt ngang ra excel thì có lisp xuất toạ độ nhưng phải kích vào từng điểm, với 1 đường dạng pline kiểu như đường tự nhiên, số lượng điểm rất lớn. Mình muốn xuất toạ độ theo toa độ tương đối
(giả sử tim đường đỏ), mà chỉ cần kích vào pl đó là xuất ra toa độ các điểm nằm trên pl đó, nhờ các bạn viết giúp lisp ( Trước nay,với các đường dạng pl, mình thường chuyển tọa độ UCS, sau đó dùng lẹnh Li để pick vào, rồi copy sang excel) Nhưng việc chuyển gốc tọdđộ hơi mất thời gian, nên muốn các bạn giúp mình viết lisp làm nhanh hơn

  • Vote giảm 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

PP xin upload các LISP và 1 bản vẽ để Bác nào quan tâm thì tham khảo thêm:

http://www.cadviet.com/upfiles/Lisps_xuat_nhap_toa_do.zip

PP sử dụng trong bản vẽ như sau:

+ Lệnh C2P trong C2P.lsp (do Bác Ssg viết) để chia Pline (màu green) cách khoảng 5 unit.

+ Lệnh COORN trong COORN.lsp để xuất các toạ độ trên Pline ra 1 file Excel/Text.

+ Lệnh TABCORD để vẽ bảng toạ độ trong CAD.

+ Lấy giá tri Z elevation trong bản vẽ để thay các Z trong file toa độ.

+ Lệnh IMPTS trong TAL_ImportPts.lsp đọc file text để vẽ các Points với cao độ Z.

+ Nối các Point lại với nhau.

LISP cần bổ sung thêm:

1. Lisp vẽ các Point tại các giao điểm của profile (màu vàng) rồi xuất ra file Excel/Text và 1 bảng toạ độ như COORN.lsp

2. Sửa lại TAL_ImportPts.lsp để có thể tự động vẽ line nối các point với nhau.

Xin các Bác help thêm. Thanks you

P/s: TAL_ImportPts.lsp > http://www.cadviet.com/forum/index.php?showtopic=8894

 

profilecl2.jpg

w1080.png

Các bạn ơi. Minh cần cái này gấp lắm. Xuất tọa độ từ cad sang excel với các pline bằng lệnh "COORN" là ok lắm. Nhưng mấy đoạn cong mình muốn lấy 3 điểm tọa độ mà không được. Có pro nào giúp mình với. file của mình nè.

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

+Lệnh IP dùng để insert các Points tại các giao điểm của các Line/Pline/Spline (trên mặt phằng XY) sau khi dùng mouse quét qua các objects.

Lisp do Trưởng lão Ssg viết:

 

;;;-----------------------------------------------------
(defun ss2ent (ss / i Le e) ;;;Convert ss to list of ename
(setq i 0)
(repeat (sslength ss)
(setq
e (ssname ss i)
Le (append Le (list e))
i (1+ i)
)
)
Le
)
;;;-----------------------------------------------------
(defun Inters (e1 e2 / ob1 ob2 g L i kq)
(vl-load-com)
(setq
ob1 (vlax-ename->vla-object e1)
ob2 (vlax-ename->vla-object e2)
g (vlax-variant-value (vla-IntersectWith ob1 ob2 acExtendNone))
)
(if (/= (vlax-safearray-get-u-bound g 1) -1) (setq L (vlax-safearray->list g)))
(setq i 0)
(repeat (/ (length L) 3)
(setq kq (append (list (list (nth i L) (nth (+ i 1) L) (nth (+ i 2) L))) kq))
(setq i (+ i 3))
)
kq
)
;;;-----------------------------------------------------
(defun C:IP ( / Le e0 e Lp p) ;;;Intersection Points
(setq Le (ss2ent (ssget '((0 . "LINE,POLYLINE,LWPOLYLINE,SPLINE")))))
(repeat (1- (length Le))
(setq Le (vl-remove (setq e0 (car Le)) Le))
(foreach e Le (setq Lp (append Lp (inters e0 e))))
)
(foreach p Lp (entmake (list (cons 0 "POINT") (cons 10 (list (car p) (cadr p) 0.0)))))
(princ)
)
;;;-----------------------------------------------------

Bác ơi có thể phát triển lisp này để đếm số lượng điểm point được không 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

Các pro cho mình hỏi có lisp nào xuất toạ độ các block ra file Excel được ạ? hoặc là lisp nào Scale các block về một kích thước nào đó k, cho mình xin với? cảm ơn các pro!

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

×