Tuynh
-
Số lượng nội dung
56 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi Tuynh
-
-
-
Vào lúc 9/11/2011 tại 16:18, cd2k44 đã nói:Bạn đừng dùng tra cao độ địa hình,dùng tra cao độ mắt lưới bạn ah
Bác cho em hỏi là tại sao cao độ mắt lưới lại khác với cao độ địa hình khi tra cao độ ở khu vực biên
-
Cám ơn các bác!
Đúng là nhiều lệnh cad mình chưa bao giờ dùng đến.
-
Các bác giúp em với!
Em cần lisp chọn tập hợp text theo tiền tố cho trước (tiền tố mình tự nhập vào khi thực hiện lisp).
-
Thank bác hiepttr nhé! :) lisp chạy rất OK
-
OK Cám ơn sự nhiện tình của bác nhé.
-
Vâng anh, nếu về thể hiện thì copy và xóa, nhưng do text mẫu và text đích mang thông tin của phần mềm nên nếu copy và xóa thì mất thông tin đó, do vậy em cần là Sau khi quét chọn thì text đích thành text mẫu
-
Em nhờ các bác viết cho em lisp thay đổi text hàng loạt theo hàng cột
Em có up file mẫu lên để dễ hình dung
-
anh ơi sao khi appload lisp của anh thì máy báo lỗi : syntax error vậy anh. Anh sữa giùm e xí. Cảm ơn anh nhiều.
Bạn copy và dán, download trực tiếp sẽ bị lỗi
-
Cám ơn bác nhé lisp chạy rất ngon. Tiện đây em cũng yêu cầu bác có thể thêm lệnh phát sinh điểm trên mô hình tam giác Polyline3D không tức là tăng dày thêm điểm trêm mô hình
-
SERIAL: 189224 1939DG 55008
cho mình xin key nhé!
-
Đúng như thế, ý mình đại loại cũng như vậy. Nghĩa là sau khi pick diện tích trên trắc ngang thì mình muốn xuất text sang excell đển tiện sử lý khối lượng
-
http://www.mediafire.com/download/32yhvb0n2x88g8f/T1.dwg
Bác giúp em hoàn thiện lisp này được không ạ. Trước em đưa ra bài toán là có bốn diện tích
Sbùn:
Sđào:
Sđắp đường:
Sđắp BK:
Bây giờ số lượng diện tích tăng lên lúc thì bốn diện tích lúc thì 5.... lúc thì 12
S1:
S2:
S3:
S4:
S5:
S6:
.......
Bác giúp em sửa lisp để lấy xuất diện tích sang file excell hay dạng text như lisp test trên được không ạ.
-
Bạn pawuta dùng bảng thống kê này thì khi tính chiều dài nối thép tính ra sao?
-
OK bạn ạ. Cám ơn bạn nhiều nhé!
-
Tuyệt vời bạn ạ, Lisp này sẽ giúp mình làm nhanh hơn không phải lách cách nhập số liệu.
Bạn có thể mở rộng là lisp thêm hoặc bớt đối tượng chọn được không ví dụ: trên là Sbùn:, Sđào:, Sđắp đường, S đắp bờ kênh; bây giờ mình muốn thêm S trồng cỏ:..... hay bớt đi Sbùn: Ý mình là diện tích có bao nhiêu hàng thì lisp quét chọn hết và đưa ra dạng text như bạn đã viết
Chúc bạn sức khỏe và thành công trong cuộc sống.
-
Cám ơn bạn. Mình load lisp khi thực hiện lệnh thì bị lỗi ; error: no function definition: ACET-SS-TO-LIST
Mình rất muốn chọn một loạt, cứ coi như các text thẳng hàng
-
Trên diễn đàn cũng có nhiều lisp xuất text sang excel nhưng vẫn không được như ý em, nên em mạo muội lập một topic mới mong các bác giúp đỡ:
Lisp yêu cầu là quét chọn một loạt sau đó xuất text sang excel theo hàng và theo cột.
em có up lên file cad và file excel sau khi dùng lisp được như vậy mong các bác giúp em với
http://www.mediafire.com/download/t565ylzp5slo1lp/Text+Cad.dwg
http://www.mediafire.com/download/aeiy13k23za1mim/Khoi+luong.xls
-
Chào Tuynh, Nếu bạn để các đối tượng text cao độ vào 1 lớp tên là TEXTCAODO, thì lisp sau đây chỉ cần chọn POLYLINE cần update thôi:;; free lisp from cadviet.com ;;; Lisp update do cao cho các nút cua 3DOPLY ;;; BY Thiep 03/2010 ;;; Yeu cau: cai dat Express tools (defun DXF (code en) (cdr (assoc code (entget en)))) ;;;------------------------------------ (defun timgan (p lst / dmin ensave p2 d) (foreach l lst (setq p2 (car l) d (distance p p2) ) (if (or (not dmin) (> dmin d)) (setq dmin d ensave l ) ) ) ensave ) ;;;--------------------------------- (defun 3DPoly (Lp *ModelSpace* / PntArr) (setq PntArr (vlax-make-safearray vlax-vbDouble (cons 0 (1- (length Lp))) ) ) (vlax-safearray-fill PntArr Lp) (vla-Add3Dpoly *ModelSpace* PntArr) ) ;;;-------------------------------- (defun c:u3dp (/ ss lstentext olsmd entPL lstent lstentext hei Lstnum lstpo lsp p1 ) (or ActDoc (setq ActDoc (vla-get-ActiveDocument (vlax-get-acad-object))) ) (or *Model* (setq *Model* (vla-get-ModelSpace ActDoc))) (setq olsmd (getvar "OSMODE")) (setvar "osmode" 0) (command "undo" "be") (prompt "\nChon doi tuong 3DPOLYLINE & TEXT cao do:") (setq lstenttext (acet-ss-to-list (ssget "X" '((0 . "TEXT") (8 . "TEXTDOCAO"))) ) entPL (ssname (ssget '((0 . "POLYLINE"))) 0) ) (setvar "clayer" (dxf 8 entPL)) (foreach ent lstenttext (setq po (dxf 10 ent) hei (distof (dxf 1 ent)) ) (if hei (setq Lstnum (cons (cons po hei) Lstnum)) ) ) (setq lstpo (acet-geom-vertex-list entPL) lsp nil ) (foreach po lstpo (setq p1 (timgan po Lstnum) lsp (append (list (car po) (cadr po)) (list (cdr p1)) lsp) ) ) (foreach ent lstenttext (setq po (dxf 10 ent)) (vla-put-InsertionPoint (vlax-ename->vla-object ent) (vlax-3d-point (list (car po) (cadr po) (distof (dxf 1 ent))) ) ) ) (entdel entPL) (3DPoly lsp *Model*) (command "undo" "en") (setvar "osmode" olsmd) (princ "\nChuc ban thanh cong! Thiep.") (princ) )
Ngoài lề: Thiep không phải là dân xây dựng, dân cơ khí, hay dân trắc đạc... Thiep chỉ là "lều địa chất" Thiep yêu AutoCad, nhưng rất ít khi dùng Autocad để kiếm tiền. Vậy đó! hề! hề! hề!
Cám ơn Thiep. Lisp này gần như đã hoàn thiện rùi nhỉ.
Chúc Thiep sức khoẻ, hạnh phúc, thành đạt!
Mà đặt là lớp TEXTDOCAO như trong lisp chứ Thiep.
-
Khi máy báo "Select objects:", Bạn phải chọn cả đối tượng polyline và text cao độ.Bạn chép đoạn mã nhắc nhở: (prompt "\nChon doi tuong 3DPOLYLINE & TEXT cao do:")
vào trước dòng: (setq lstent (acet-ss-to-list (ssget '((0 . "TEXT,POLYLINE"))))).
Chúc Tuynh thành công.
Cám ơn Thiep.
Tuynh làm được rùi.
Ngoài lề chút nhé, cho Tuynh hỏi là Thiep làm về lĩnh vực gì vậy?
-
Chào Tuynh, Thiep xin góp 1 lisp update các cao độ các nút của 3Dpoly theo text độ cao của các nút đã chỉnh sữa.Thuật toán của lisp là tìm ứng với mỗi text số nào gần nút của 3Dpoly nhất sẽ update cho cao độ ứng với nút ấy.
;; free lisp from cadviet.com ;;; Lisp update do cao cho các nút cua 3DOPLY ;;; BY Thiep 03/2010 ;;; yeu cau: cài dat express tools (defun DXF (code en) (cdr (assoc code (entget en)))) ;;;------------------------------------ (defun timgan (p lst / dmin ensave p2 d) (foreach l lst (setq p2 (car l) d (distance p p2) ) (if (or (not dmin) (> dmin d)) (setq dmin d ensave l ) ) ) ensave ) ;;;--------------------------------- (defun 3DPoly (Lp *ModelSpace* / PntArr) (setq PntArr (vlax-make-safearray vlax-vbDouble (cons 0 (1- (length Lp))) ) ) (vlax-safearray-fill PntArr Lp) (vla-Add3Dpoly *ModelSpace* PntArr) ) ;;;-------------------------------- (defun c:u3dp (/ ss lstentext olsmd entPL lstent lstentext hei Lstnum lstpo lsp p1 ) (or ActDoc (setq ActDoc (vla-get-ActiveDocument (vlax-get-acad-object))) ) (or *Model* (setq *Model* (vla-get-ModelSpace ActDoc))) (setq olsmd (getvar "OSMODE")) (setvar "osmode" 0) (command "undo" "be") (setq lstent (acet-ss-to-list (ssget '((0 . "TEXT,POLYLINE"))))) (foreach ent lstent (if (eq (dxf 0 ent) "TEXT") (setq lstentext (cons ent lstentext)) (setq entPL ent) ) ) (foreach ent lstentext (setq po (dxf 10 ent) hei (distof (dxf 1 ent)) ) (if hei (setq Lstnum (cons (cons po hei) Lstnum)) ) ) (setq lstpo (acet-geom-vertex-list entPL) lsp nil ) (foreach po lstpo (setq p1 (timgan po Lstnum) lsp (append (list (car po) (cadr po)) (list (cdr p1)) lsp) ) ) (foreach ent lstentext (setq po (dxf 10 ent)) (vla-put-InsertionPoint (vlax-ename->vla-object ent) (vlax-3d-point (list (car po) (cadr po) (distof (dxf 1 ent))) ) ) ) (entdel entPL) (3DPoly lsp *Model*) (command "undo" "en") (setvar "osmode" olsmd) (princ "\nChuc ban thanh cong! Thiep.") (princ) )
Chào hoaletrang, bạn có thể tham khảo hàm con timgan ở lisp trên, hàm này Thiep cũng tham khảo từ bác Hoanh.
Chào Thiep, Tuynh chạy thử lisp của Thiep nhưng sau khi chạy lisp thì cao độ các đỉnh 3d Polyline lại trở về 0.00 hết Thiep giúp mình xem lại lisp được không?
Cảm ơn Thiep nhé.
-
Code mà Tue_NV viết cho Tuynh khi xưa đẹp là thế. Cớ sao bây chừ lại "nông lỗi" như thế lày? :undecided:Có 2 Lisp lận chứ không phải có 1 Lisp đâu Tuynh. Tue_NV đã giúp cho Tuynh 2 code Lisp. 1 Lisp ghi cao độ . Và sửa cao độ Text và cả 2 Lisp này áp dụng được cho cả POLYLINE và 3DPOLY. Tuynh kiểm tra lại
Thành thật xin lỗi bác Tue_NV
Chả hiểu sao khi em copy, paste Code lại nhảy ra kiểu thế, do vội quá em không để ý bác đừng bùn nhé.
Em đã tìm thấy lisp thứ hai rùi ạ.
Chúc Tue_NV sức khỏe nhé.
-
Bác Tuệ đang online ạ, bác giúp em sửa lại lisp chuyển đường 2d poly thành đường 3d poly là khi chỉnh giá trị của text thì cao độ đường 3d poly cũng thay đổi theo đó.
-
Cảm ơn Tuệ, Thiep bận rộn cả ngày hôm qua, Tuệ đã tiếp tay rất nhanh cho Tuynh.Thiep chỉ gợi ý Tue rằng có 1 hàm trong thư viện Express tools tạo POLYLINE rất nhanh, đó là: acet-pline-make.
Còn lisp trên, Tuynh hãy đợi Tue_NV sẽ thêm vòng lặp để chọn đối tượng đến khi enter thì thôi
Ngày trước mình có yêu cầu lisp chuyển đường 2d polyline thành đường 3d polyline và được bác Tuệ và bác Thiệp giúp đỡ có một lisp.
(defun c:2d3d(/ curve pre i p lstdiem z lstpoint x ss oldos)
(vl-load-com)
(setvar "orthomode" 0)
(setvar "cmdecho" 0)
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq curve (car(entsel "\n Pick chon POlyline 2D hoac Polyline 3D :")))
(setq pre (vlax-curve-getEndParam curve) i 0 lstdiem '() lstpoint '() ss (ssadd))
(setq cao (getdist "\n Chon chieu cao chu :"))
(while (<= i pre)
(setq p (vlax-curve-getPointAtParam curve i))
(setq lstdiem (append lstdiem (list p)))
(wtxt (rtos (caddr p) 2 2) p 0 cao)
(setq ss (ssadd (entlast) ss))
(setq i (1+ i))
)
(setq i 0)
(foreach x lstdiem
(setq z (getdist x (strcat "\n Nhap cao do cho diem nay <" (rtos (caddr x) 2 2) "> : ") ))
(setq lstpoint (append lstpoint (list(list (car x) (cadr x) z))))
(wtxt (rtos z 2 2) (list (car x) (cadr x) z) 0 cao)
(entdel (ssname ss i))
(setq i (1+ i))
)
(command "3dpoly")
(foreach y lstpoint (command y))
(command "")
(entdel curve)
(setvar "osmode" oldos)
(princ)
)
;
(defun wtxt (txt p ang h / sty)
(setq sty (getvar "textstyle"))
(entmake (list (cons 0 "TEXT") (cons 7 sty)
(cons 1 txt) (cons 10 p) (cons 11 p)
(cons 72 2) (cons 73 1) (cons 50 ang)
(cons 40 h) (cons 41 0.8))
)
)
các bác có thể chỉnh sửa lisp trên để khi chỉnh sửa text thì cao độ ở đường 3d polyline cũng thay đổi theo.
cảm ơn các bác trước nhé!
AUTOCAD 2020
trong Sử dụng AutoCAD
Đã đăng · Trả lời báo cáo
Các bác giúp em với em cài cad 2020 khi mở lên thì không khởi động được, không biết lỗi do đâu nữa?