Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Nguyen Hoanh

Viết Lisp theo yêu cầu

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

bach1212    2

crack cua bác cho em chỉ cần cop pết vào C\program...... j đó thui ạ?

hic hic crack ntn bác nhỉ? em ngu lâu hiểu chậm júp em nhé!

chạy keygen.exe thì nhập username là j ạ?

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
phuongcuong    1

Chào các bạn, mình muốn nhờ viết 1 lisp mà khi kích vào 1 pline thì nó sẽ lấy chiều dài của pline đó rồi điền vào 1 text có sẵn, mà không làm thay đổi thuộc tính của text. Cảm ơn các bác trướ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
Phiphi-    175
Lisp ttoa mà Tue_NV viết cho Phi phi dựa trên tiêu chí WYSIWYG

Các bạn chạy thử xem và cho mình biết ý kiến nhé :

;copyright by Tue_NV
(defun c:ttoa(/ dt n i ss1 ent tval L kytunoi kytu j tname cao po10 po11 styl LA
mau dxf71 dxf72 dxf73 ang wid)
(command "undo" "be")
(setq dt (ssget '((0 . "TEXT"))) n (sslength dt) i 0 ss1 (ssadd))
(while (< i n)
(if dt
(progn
(setq ent (ssname dt i))
(setq tval (cdr(assoc 1 (entget ent))))

(setq L (strlen tval) j 1)
(setq kytunoi "")
(Repeat L
(setq kytu (substr tval j 1))
(if (= kytu " ")
(setq kytu "_") 
(setq kytu (substr tval j 1))
)
(setq kytunoi (strcat kytunoi kytu))

(setq j (1+ j))
)

(setq tname kytunoi)
(setq cao (cdr(assoc 40 (entget ent))))
(setq po10 (cdr(assoc 10 (entget ent))))
(setq po11 (cdr(assoc 11 (entget ent))))
(setq styl (cdr(assoc 7 (entget ent))))
(setq LA (cdr(assoc 8 (entget ent))))
(if (= (cdr(assoc 62 (entget ent))) nil)
(setq mau (cdr(assoc 62 (tblsearch "layer" LA))))
(setq mau (cdr(assoc 62 (entget ent))))
)
(setq ang (cdr(assoc 50 (entget ent))))
(setq wid (cdr(assoc 41 (entget ent))))
(setq dxf71 (cdr(assoc 71 (entget ent))))
(setq dxf72 (cdr(assoc 72 (entget ent))))
(setq dxf73 (cdr(assoc 73 (entget ent))))

(watt tname tval po10 po11 dxf71 dxf72 dxf73 cao styl mau ang wid)
(setq ss1 (ssadd (entlast) ss1))
(entdel ent)
)
)
(setq i (1+ i))
)
(sssetfirst ss1 ss1)
(command "copybase" po10 ss1 "")
(Command "pasteblock" po10)
(Command "erase" ss1 "")
(command "undo" "end")
(princ)
)
;
;
;
(defun watt (tagname tagval p1 p2 d71 d72 d73 h sty col goc rong / promp)
(setq promp tagname)
(entmake (list (cons 0 "ATTDEF") (cons 7 sty) (cons 62 col) (cons 2 Tagname) (cons 3 promp) 
(cons 1 tagval) (cons 71 d71) (cons 72 d72) (cons 74 d73) (cons 10 p1) (cons 11 p2) (cons 40 h)
(cons 50 goc) (cons 41 rong)
'(70 . 8) 
)
)
)

Cám ơn Tue_NV và Gia_bach đã viết LISP tự động chuyển các TEXT thành các ATTRIBUTE. PP hy vọng LISP này sẽ giúp ích rất nhiều cho các Drafters khi biết tận dụng các đặc tính hay của Attribute áp dụng trong các bản vẽ AutoCAD. Sẽ có rất nhiều cái để áp dụng với LISP này. Và nếu kết hợp với Excell thì phạm vi áp dụng sẽ đa dạng. Một thí dụ đơn giản như là Explode các dim rồi thay đổi các chử số của dim thành các tên gọi khác trước khi dùng LISP trên, như vậy sẽ có nhiều Attribute để sử dụng khi muốn thay đổ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
q288    164
Chào mọi người!

Nhờ các bác xem giúp sao đoạn lisp này của em khi nó hông chịu kết thúc cứ phải bấm Éc thi nó mới thoát. còn không thì nó cứ sửa Text sau cùng sau mổi lần bấm enter mà không chọn điểm.

 

Tại vòng while bạn ko đặt ra điều kiện thoát thì làm sao nó thoát đ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
q288    164
Chào các bạn, mình muốn nhờ viết 1 lisp mà khi kích vào 1 pline thì nó sẽ lấy chiều dài của pline đó rồi điền vào 1 text có sẵn, mà không làm thay đổi thuộc tính của text. Cảm ơn các bác trước

 

Lisp kiểu này trên dđ nhiều vô số, nhưng mình cũng xin làm thêm một cái theo yêu cầu của bạn.

Cái này đo chiều dài mọi đường line,arc,pline.circle,spline.

(defun c:do(/ plo to dai)
 (vl-load-com)
 (setq plo (vlax-ename->vla-object (car (entsel "Chon pline :"))))	

 (while plo
   (setq to (vlax-ename->vla-object (car (entsel "Chon text :")))          
  dai  (vlax-curve-getDistAtParam plo (vlax-curve-getEndParam plo)))
   (vla-put-TextString to (rtos dai))
   (setq plo (vlax-ename->vla-object  (car (entsel "Chon pline :"))))
 )
)

  • 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 không hiểu công việc của bạn. Quan sát lệnh bạn viết thì hình như bạn muốn nối 0 15 0 12 vào với T thành 1 list, tương tự như vậy với U W 3000 6000 3000. Nếu đúng vậy thì bạn làm như sau :

(setq LCt (append T '(0 15 0 12)))

(setq LDist (append U (list W) '(3000 6000 3000)))

Nếu không đúng ý bạn thì bạn nói rõ thêm tí nữa hay bạn có ví dụ cụ thể sẽ dễ hiểu hơn.

 

Cảm ơn ông anh nhé

Đúng ý của em rui. Ông anh Pro thật.

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
HoangSon614    66

Tue_NV ơi! giúp mình với, cảm ơn bạn nhiều. Có gì thì bạn cũng trao đổi với mình chứ, sao không thấy hồi âm.Hãy giúp mì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
truongthanh    7
crack cua bác cho em chỉ cần cop pết vào C\program...... j đó thui ạ?

hic hic crack ntn bác nhỉ? em ngu lâu hiểu chậm júp em nhé!

chạy keygen.exe thì nhập username là j ạ?

bạn cài cái này vào CAD

sau đó tắt CAD khởi động lại CAD nó sẽ hiện lên cái bảng đăng ký,bạn copy cái dòng số này paste vào keygen, nó sẽ hiện ra 1 dãy chữ khác,bạn paste lại vào cái ô đang hỏi đăng ký trong CAD nữa là xong!thâ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
Lisp Vét bùn theo ý của bạn đã thực hiện xong. Bạn test thử nhé :

Tên lệnh VBUN

Đây : http://www.cadviet.com/upfiles/VBUN.vlx

Cảm ơn Tue_NV đã giúp đỡ!

Tue_NV có thể chỉnh lại cho hoàn thiện hơn giúp mình với!

Thứ nhất: mình có rất nhiều mặt cắt như thế nên mình muốn các thông số như chiều sâu vét và mái dốc chỉ nhập số liệu vào mặt cắt đầu tiên còn các mặt cắt sau thi lisp sẽ mặc định giống mặt cắt trước.

Thứ hai: Đường vét vừa tạo thành phải thuộc layer hiện hữu và đường vét được nối với mái dốc như hình mẫu của mình đấy.

Trình từ lisp chạy như thế này:

sau khi chạy lisp thì hỏi chiều sâu vét. Rồi mái dốc vét.

Rồi chọn polyline tự nhiên. Tiếp theo chọn hai điểm thuộc polyline vừa chọn thì lisp sẽ cho mình đường vét hoàn chỉnh.

Rồi tiếp tục mình làm cho mặt cắt khác: Chọn polyline (không cần ấn enter). rồi chọn hai điểm. Sau khi chọn hai điểm thì lisp cho mình đường vét và tự động hỏi mình chọn polyline tự nhiên tiếp theo mà không cần ấn enter.

Đồi với các mặt cắt sau mình chỉ cần kích trái chuột 3 lần thì được một đường vét (chọn polyline tự nhiên và hai lần chọn điểm)

Có lẽ yêu cầu của mình hơi quá nhưng mà nếu được như thế thì lisp này sẽ giúp cho anh em cầu đường tiết kiệm thời gian đáng kể đó. Cảm ơn Tue_NV đã nhiệt tình giúp đỡ!

File mẫu: http://www.cadviet.com/upfiles/TRACNGANGCHITIET.dwg

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
Tue_NV    3.841
Cảm ơn Tue_NV đã giúp đỡ!

Tue_NV có thể chỉnh lại cho hoàn thiện hơn giúp mình với!

Thứ nhất: mình có rất nhiều mặt cắt như thế nên mình muốn các thông số như chiều sâu vét và mái dốc chỉ nhập số liệu vào mặt cắt đầu tiên còn các mặt cắt sau thi lisp sẽ mặc định giống mặt cắt trước.

Thứ hai: Đường vét vừa tạo thành phải thuộc layer hiện hữu và đường vét được nối với mái dốc như hình mẫu của mình đấy.

Trình từ lisp chạy như thế này:

sau khi chạy lisp thì hỏi chiều sâu vét. Rồi mái dốc vét.

Rồi chọn polyline tự nhiên. Tiếp theo chọn hai điểm thuộc polyline vừa chọn thì lisp sẽ cho mình đường vét hoàn chỉnh.

Rồi tiếp tục mình làm cho mặt cắt khác: Chọn polyline (không cần ấn enter). rồi chọn hai điểm. Sau khi chọn hai điểm thì lisp cho mình đường vét và tự động hỏi mình chọn polyline tự nhiên tiếp theo mà không cần ấn enter.

Đồi với các mặt cắt sau mình chỉ cần kích trái chuột 3 lần thì được một đường vét (chọn polyline tự nhiên và hai lần chọn điểm)

Có lẽ yêu cầu của mình hơi quá nhưng mà nếu được như thế thì lisp này sẽ giúp cho anh em cầu đường tiết kiệm thời gian đáng kể đó. Cảm ơn Tue_NV đã nhiệt tình giúp đỡ!

Trình tự chạy Lisp theo ý của conghoan hơi lâu.

Để Tue_NV cải thiện tốc độ của Lisp nhé :

Tên lệnh VBUN

 

Command: vbun : đánh lệnh VBUN

Select objects: Specify opposite corner: 4 found

 

Select objects: Chọn các Polyline

 

Nhap do sau vet bun : Specify second point: Nhập độ sâu vét bùn

Nhap he so mai doc o diem dau :0

 

Nhap he so mai doc o diem cuoi :1.2

 

Lúc này Lisp sẽ hiện sáng 1 polyline được chọn -> Bạn chỉ việc kích điểm đầu và điểm cuối của PLINE hiện sáng đó

Chon diem dau :

Chon diem cuoi :

Lisp sẽ hiện sáng 1 polyline được chọn tiếp theo -> Bạn chỉ việc kích điểm đầu và điểm cuối của PLINE hiện sáng đó

Chon diem dau :

Chon diem cuoi :

Lisp sẽ hiện sáng 1 polyline được chọn tiếp theo -> Bạn chỉ việc kích điểm đầu và điểm cuối của PLINE hiện sáng đó

Chon diem dau :

Chon diem cuoi :

File đây :

http://www.cadviet.com/upfiles/VBUN_1.vlx

 

Đồi với các mặt cắt sau mình chỉ cần kích trái chuột 2 lần thì được một đường vét (Chỉ cần chọn 2 điểm đầu và cuối mà thôi vì Lisp đã hiện sáng Polyline lên rồi)

-> nhanh hơn của conghoan nhé :s_big:

  • 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
haihau81    0

Mình muốn đặt lại kích thước và ghi kích thước cho 1 bản vẽ bằng autolisp theo đúng tiêu chuẩn bản vẽ kỹ thuật cụ thể như sau:

Đây là đoạn lisp mình đã viết để vẽ bánh răng.

http://www.cadviet.com/upfiles/BR1.lsp

Yêu cầu của mình là viết thêm phần ghi các kích tước cho bánh răng theo tiêu chẩn của bản vẽ lắp.

Mình cần thêm các giải thích cho các dòng lệnh để khi cần mình có thể điều chỉnh.

Anh em giúp mình nha. Mình cảm ơn 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
aliosa    4

Chào các bạn.

Các bạn giúp minh một chút. mình có một bản vẽ cống có các điểm cao độ cần điền giá trị cao độ. Mình đã có cao độ chuẩn của một điểm tim cống trên bản vẽ. từ điểm đó mình muốn xác định cao độ cho các điểm còn lại bằnc cách đo từ điểm chuẩn đến các điểm còn lại sau đó lấy cao độ chuẩn cộng hoặc trừ giá trị đo được và chỉnh lại vào text của cao độ chưa chuẩn. Các bạn giúp mình một ct lisp thực hiện công việc nhé.

Bản vẽ gửi kèm

http://www.cadviet.com/upfiles/tinhcaodo.dwg

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
khaosat2009    10
bạn cài cái này vào CAD

sau đó tắt CAD khởi động lại CAD nó sẽ hiện lên cái bảng đăng ký,bạn copy cái dòng số này paste vào keygen, nó sẽ hiện ra 1 dãy chữ khác,bạn paste lại vào cái ô đang hỏi đăng ký trong CAD nữa là xong!thân!

Nhờ bạn hướng dẫn cụ thể hơn cách key của chương trình excellink 2007.

Mình làm như thế này nhờ bạn giúp xem có đúng không nha, mà mình không vào đăng ký được

Sau khi cài xong, vào Cad, xuất hiện bảng. mình chọn Authorize, xuất hiện bảng . mình chọn copy của dãy chữ trong ô Request code.

Xong chọn file keygen.exe xuất hiện bảng và past dãy số vài khung username, bấm vào genante . trong ô này xuất hiện dãy số dươi ô Regỉtation code và copy số này dán vảo ô licen string.

nó báo lỗi.

Mong được bạn 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
phuongcuong    1
Lisp kiểu này trên dđ nhiều vô số, nhưng mình cũng xin làm thêm một cái theo yêu cầu của bạn.

Cái này đo chiều dài mọi đường line,arc,pline.circle,spline.

(defun c:do(/ plo to dai)
 (vl-load-com)
 (setq plo (vlax-ename->vla-object (car (entsel "Chon pline :"))))	

 (while plo
   (setq to (vlax-ename->vla-object (car (entsel "Chon text :")))          
  dai  (vlax-curve-getDistAtParam plo (vlax-curve-getEndParam plo)))
   (vla-put-TextString to (rtos dai))
   (setq plo (vlax-ename->vla-object  (car (entsel "Chon pline :"))))
 )
)

 

cảm ơn ban q288 nhiều, đúng yêu cầu của mình rồi, nhưng giờ phát sinh phải cộng 2 pline lại rồi mới điền vào giá trị text, mong bạn sửa 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
phuongcuong    1
Chào các bạn.

Các bạn giúp minh một chút. mình có một bản vẽ cống có các điểm cao độ cần điền giá trị cao độ. Mình đã có cao độ chuẩn của một điểm tim cống trên bản vẽ. từ điểm đó mình muốn xác định cao độ cho các điểm còn lại bằnc cách đo từ điểm chuẩn đến các điểm còn lại sau đó lấy cao độ chuẩn cộng hoặc trừ giá trị đo được và chỉnh lại vào text của cao độ chưa chuẩn. Các bạn giúp mình một ct lisp thực hiện công việc nhé.

Bản vẽ gửi kèm

http://www.cadviet.com/upfiles/tinhcaodo.dwg

cái này mình làm luôn trên cad >2006, ko cần dùng lisp. Xem có đúng ý bạn không.

http://www.mediafire.com/?sharekey=7bebbf2...04e75f6e8ebb871

mình up lên diễn đàn mà không được, bạn down file của bạn về qua link trên 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
bach1212    2
bạn cài cái này vào CAD

sau đó tắt CAD khởi động lại CAD nó sẽ hiện lên cái bảng đăng ký,bạn copy cái dòng số này paste vào keygen, nó sẽ hiện ra 1 dãy chữ khác,bạn paste lại vào cái ô đang hỏi đăng ký trong CAD nữa là xong!thân!

okey, xong roài! :s_big: cám ơn bác tận tình chỉ bảo!

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
aliosa    4
cái này mình làm luôn trên cad >2006, ko cần dùng lisp. Xem có đúng ý bạn không.

http://www.mediafire.com/?sharekey=7bebbf2...04e75f6e8ebb871

mình up lên diễn đàn mà không được, bạn down file của bạn về qua link trên nhé.

Mình đang dùng cad 02 và 05 vì theo phần mềm mà. cad cao hơn chương trình không dùng được. Bạn xem có cách nào khô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
Tue_NV    3.841
cảm ơn ban q288 nhiều, đúng yêu cầu của mình rồi, nhưng giờ phát sinh phải cộng 2 pline lại rồi mới điền vào giá trị text, mong bạn sửa giúp,

Cộng bao nhiêu Pline cũng được cả. Bạn đọc bài viết này nhé :

http://www.cadviet.com/forum/index.php?sho...ic=9681&hl=

Bài viết số 4 bạn nhé

Chỉnh sửa theo Tue_NV
  • Vote tăng 2

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
phuongcuong    1
Mình đang dùng cad 02 và 05 vì theo phần mềm mà. cad cao hơn chương trình không dùng được. Bạn xem có cách nào không?

vay thi phải dùng lisp rồi:

http://www.cadviet.com/caddata/items/13_Da...at_tu_dong.html

Cam ơn bạn Tue_NV nhiều.

  • 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
quoctoa    9

Bác Hoành và mọi người xem viết giúp em cái lisp này với : công việc của em là vẽ họa đồ vị trí nhà để cấp sổ hồng, yêu cầu là : xác định được kích thước nhà, vị trí nhà cách đường bao nhiêu, căn cứ vào chỉ giới xây dựng thi nhà có vi phạm chỉ giới không? nếu có thì diện tích vi phạm là bao nhiêu ? tứ cận gồm những ai.???

 

- cái khó để xác định kích thước nhà là nhiều nhà có kich thước các cạnh không vuông vức mà lại giật, nghiêng so với truc chuẩn ( để đo được kích thước phải dùng dim align)

cách thức làm việc của lisp theo mình có thể mô tả như sau :

command : vsh ( <-- vẽ sổ hồng)

mặt trước giáp Đường/Đường Hẻm/Đường Đất/Đường Mòn:

nếu giáp Đường : Tên đường là gì ? chỉ giới quy định là bao nhiêu

( kết quả sẽ được 2 line thể hiện bề rộng Đường/Đường Hẻm/Đường Đất/Đường Mòn, 1 line tim đường, 1 line chỉ giới cách tim đường theo như kích thước khai báo, và một dim line ( dấu mũi tên) thể hiện kích thước chỉ giới ( vd : 10,00m)

tương tự cho 3 bên còn lại

chu vi thửa đất ( thể hiện bằng nét đứt)

( theo chiều kim đồng hồ ) cạnh 1 : ngang/dọc/nghiêng

( nếu là nghiêng thì nghiêng bao nhiêu độ, kích thước dim align là bao nhiêu? Mình vẫn hay gặp khó khăn chỗ này, vi góc nghiêng không xác đinh được chính xác nên việc xác định được chiều dài cạnh nghiêng và 2 cạnh nối 2 đầu cạnh này đúng theo kích thước mình muốn rất mất thời gian, vì phải stretch để căn chỉnh đúng 3 cạnh)

tương tự cạnh 2, 3, 4, ....

Chu vi nhà ( thể hiện bằng nét đậm 0.45)

tương tự như vẽ chu vi đất

sau đó lisp xác định được diện tích nhà (Area), diện tích vi phạm chỉ giới ( phần vi phạm chỉ giới được hatch lên )

......

Bác nào có kinh nghiệm xin bổ sung thêm. Mọi người xem giúp mình với nhé. Thank everybody so much.

vì việc có vẻ đơn giản vì chỉ dùng những lệnh căn bản của CAD nhưng vì số lượng nhiều nên mấy anh em ở phòng làm không kịp, trễ hẹn đến ngày hẹn trả cho dân mà không thấy là Phòng ăn kiểm điểm ngay, khổ lắ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
truongthanh    7
Bác Hoành và mọi người xem viết giúp em cái lisp này với : công việc của em là vẽ họa đồ vị trí nhà để cấp sổ hồng, yêu cầu là : xác định được kích thước nhà, vị trí nhà cách đường bao nhiêu, căn cứ vào chỉ giới xây dựng thi nhà có vi phạm chỉ giới không? nếu có thì diện tích vi phạm là bao nhiêu ? tứ cận gồm những ai.???

 

- cái khó để xác định kích thước nhà là nhiều nhà có kich thước các cạnh không vuông vức mà lại giật, nghiêng so với truc chuẩn ( để đo được kích thước phải dùng dim align)

cách thức làm việc của lisp theo mình có thể mô tả như sau :

command : vsh ( <-- vẽ sổ hồng)

mặt trước giáp Đường/Đường Hẻm/Đường Đất/Đường Mòn:

nếu giáp Đường : Tên đường là gì ? chỉ giới quy định là bao nhiêu

( kết quả sẽ được 2 line thể hiện bề rộng Đường/Đường Hẻm/Đường Đất/Đường Mòn, 1 line tim đường, 1 line chỉ giới cách tim đường theo như kích thước khai báo, và một dim line ( dấu mũi tên) thể hiện kích thước chỉ giới ( vd : 10,00m)

tương tự cho 3 bên còn lại

chu vi thửa đất ( thể hiện bằng nét đứt)

( theo chiều kim đồng hồ ) cạnh 1 : ngang/dọc/nghiêng

( nếu là nghiêng thì nghiêng bao nhiêu độ, kích thước dim align là bao nhiêu? Mình vẫn hay gặp khó khăn chỗ này, vi góc nghiêng không xác đinh được chính xác nên việc xác định được chiều dài cạnh nghiêng và 2 cạnh nối 2 đầu cạnh này đúng theo kích thước mình muốn rất mất thời gian, vì phải stretch để căn chỉnh đúng 3 cạnh)

tương tự cạnh 2, 3, 4, ....

Chu vi nhà ( thể hiện bằng nét đậm 0.45)

tương tự như vẽ chu vi đất

sau đó lisp xác định được diện tích nhà (Area), diện tích vi phạm chỉ giới ( phần vi phạm chỉ giới được hatch lên )

......

Bác nào có kinh nghiệm xin bổ sung thêm. Mọi người xem giúp mình với nhé. Thank everybody so much.

vì việc có vẻ đơn giản vì chỉ dùng những lệnh căn bản của CAD nhưng vì số lượng nhiều nên mấy anh em ở phòng làm không kịp, trễ hẹn đến ngày hẹn trả cho dân mà không thấy là Phòng ăn kiểm điểm ngay, khổ lắm.)

ko bít mình nói có đúng ko nữa!nhưng theo mình nếu bạn làm ngành này bạn nên nghiên cứu AUTODESK MAP!rát hữu dụng đối với bạ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
truongthanh    7

có bạn nào có LISP chuyển 1 bảng thống kê từ CAD sang Excell và từ excell sang CAD ko vậy?mình làm cấp nước nên thống kê vật tư rất nhiều nên mình rất cần LISP để chuyển đổi qua lại!mong sự giúp đỡ của các bạn!(cái bảng xuất qua excel phải giống hàng và cột y chang với bảng CAD hoặc ngược lạ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
meohen1910    0
Bạn có thể post yêu cầu về autolisp ở topic này.

 

Mình dang làm san nền hay gặp trường hợp có 1 bình đồ số chứa các text cao độ tuy nhiên thuộc tính poisition Z của các text này đều bằng 0 (Cao độ bằng 0). Mình muốn viết một lisp số hóa các text này, gán thuộc tính poisition Z của text bằng giá trị cao độ ghi trong text đó (Thuộc tính Contents) hoặc tạo ra một điểm (point) tại vị trí text có thuộc tính poisition Z = giá trị Thuộc tính Contents của text.

Bác nào biết chì chỉ hộ mình nhé.

Cảm ơn nhiều, hi vọng anh em làm kỹ thuật có thêm kinh nghiệm trao đổ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
Tue_NV    3.841
Mình dang làm san nền hay gặp trường hợp có 1 bình đồ số chứa các text cao độ tuy nhiên thuộc tính poisition Z của các text này đều bằng 0 (Cao độ bằng 0). Mình muốn viết một lisp số hóa các text này, gán thuộc tính poisition Z của text bằng giá trị cao độ ghi trong text đó (Thuộc tính Contents) hoặc tạo ra một điểm (point) tại vị trí text có thuộc tính poisition Z = giá trị Thuộc tính Contents của text.

Bác nào biết chì chỉ hộ mình nhé.

Cảm ơn nhiều, hi vọng anh em làm kỹ thuật có thêm kinh nghiệm trao đổi.

Bạn thử Code này xem :

(defun c:gct()
(prompt "\n Chon cac Text :")
(setq ss (ssget '((0 . "TEXT,MTEXT"))) n (sslength ss) i 0)
(while ((setq ent (entget(ssname ss i)))
(setq Z (atof(cdr(assoc 1 ent))))
(setq dsp (assoc 10 ent))
(setq pomoi (list (nth 1 dsp) (nth 2 dsp) Z))
(setq ent (entmod(subst (cons 10 pomoi) (assoc 10 ent) ent)))
(setq i (1+ i))
)
(princ)
)

  • Vote tăng 2

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
HoangSon614    66

Tue_NV ơi...! bạn đâu rồi, giúp mình với, mình luôn tin tưởng bạn. Cảm ơn bạn và chúc bạn thành công trong công việc. Mình hy vọng lần này được bạn 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
Khách
Chủ đề này bây giờ đã bị đóng lại để trả lời thêm.

×