

info
-
Số lượng nội dung
12 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi info
-
-
Hề hề hề,
Cái ông chủ thớt này chắc bán sạp rồi. Kêu như vạc, vậy mà sau khi được giúp, chả thấy í ới gì nữa. Không hiểu cái thớt này có còn nên treo nữa không hè????
http://www.cadviet.com/upfiles/3/3942_vhhmd.lsp
hì thanks bác Phamthanhbinh không theo dõi em cặm cuội vẽ tay mấy bữa nay xong hết rồi :(, để dành sữ dụng lần sau vậy
Em test rồi chương trình chạy tốt lắm.
Em có chỉnh lại theo nhu cầu của em, bác nào cũng phải làm những việc không giống ai như em thì dùng.
mẫu số liệu, mẫu bảng vẽ đính kèm theo
http://www.cadviet.com/upfiles/3/3942_solieu_hhcb.txt
http://www.cadviet.com/upfiles/3/3942_km2__km49500.dwg
P/s: chương trình chỉ chạy tốt khi tạo linetype và textstyle trước
Thanks bác
-
mọi người bớt chút thời gian giúp em với ạ :mellow: . Cảm ơn
-
Em trình bày rồi mà không ai hiểu hay sao mà ko thấy ai giúp với nhỉ ? :(
-
http://www.cadviet.com/forum/topic/20044-yeu-cau-lisp-phun-toa-do-cac-diem-tu-file-txt-vao-cad/
lisp yêu cầu gần giống như thế này những thay gì vẽ điểm và text thì vẽ hình chữ nhật sau đó hatch và điền text lý trình.
-
Hề hề hề,
Chả hiểu anh bạn này học trường nào ra, nhưng ngó bộ chửa hiểu gì về việc mình làm cả.
Cái mình muốn mà cũng không trình bày cho rành rọt và chính xác được thì thật là.....
1/- Có chắc là tất cả các chỗ hư hỏng trên mặt đường đều vẽ thành hình chữ nhật cả hay không??? Tỷ như cái mép đường nó là một khúc cong thì vẽ kiểu gì???
2/- Cái vụ : ghi text (định dạng center để có chỉnh theo tỷ lệ cũng ko bị nhảy khỏi vị trí nhiều) vào phía dưới và trên nếu ở nữa mặt bên kia.
là ghi text chi vậy??? Text chỉ giá trị lý trình thì lấy mốc là điểm nào vậy??? Trong trường hợp đường không thẳng thì cái lý trình này được lấy theo mép đường phía nào??? hay lấy theo tim đường???
3/- Cái vụ : Cứ để mặt định trong lisp là 7
Nghĩa là chi vậy??? Phải chăng bạn muốn nói là mặc định (chứ không phải là mặt định đâu nhé) chiều rộng mặt đường là 7 mét.
4/- Chiều rộng và chiều dài chỗ hư hỏng ghi kiểu nớ có đúng kỹ thuật và dễ hiểu cho người đọc bản vẽ không hè???
5/- Cái : trình hạng chế
Là cái hạng gì vậy?? Hạng gà, hạng ruồi hay hạng nặng hạng trung.....?
Túm lại là nếu bạn còn muốn có sự trợ giúp thì cần nghiêm túc hơn với việc post bài của mình. Cần nói đúng, chính xác và đầy đủ tất cả những điều có liên quan tới vấn đề của bạn. Có vậy người khác mới có thể hiểu và giúp bạn theo đúng ý của bạn được.
Mong bạn lưu tâm.
Anh xem qua bản vẽ để hiểu ý em hơn
1/ Đây là bình đồ duỗi thẳng, nên hư hỏng trên đường đều được cắt vuông thành sắc cạnh để dễ thi công bảo dưỡng
2/ Text ghi lý trình theo như bản vẽ
3/ Để mặt định bề rộng đường vì ghi text có thể bên trái hoặc bên phải (biến cách mép > 3.5m thì ghi text bên trái còn < thì ghi bên phải)
4/ Cái này em cũng chưa biết trình bày sao, nếu được ghi vào tâm hình chữ nhật dạng {dài x rộng m}
Có gì mong mọi người chỉ bảo thêm.
-
Chào mọi người em có một vấn đề xin nhờ mọi người giúp đỡ.
Em làm thống kê hư hỏng mặt đường, cần viết lisp theo yêu cầu lấy số liệu từ txt và vẽ trên cad. File số liệu có dạng :
điểm đầu<tab>điểm cuối<tab>cách mép<tab>bề rộng<tab>loại hư hỏng
20 25 1 2 1
30 40 4 2 2
70 75 1.5 1.5 1
Yêu cầu : như bản vẽ
- vẽ hình chữ nhật dựa trên điểm đầu điểm cuối bề rộng và cách mép bao nhiêu
- hatch hình chữ nhật vừa vẽ theo loại hư hỏng nếu loại 1 thì hatch khác loại 2
- ghi text lý trình như bản vẽ đính kèm
- ghi text chiều rộng và chiều dài chữ nhật
Em chỉnh theo lisp trên diễn đàn rồi mà chưa được, trình độ hạng chế nên nhờ mọi người viết để học hỏi thêm.
Em cảm ơn!!
file bản vẽ:
-
Có phải bạn muốn thế này:
(defun c:tinh (/ ss ent sobitru sotru sobichia sochia ssle1 kqua)
(vl-load-com)
(initget "+ - * /")
(setq ptinh1 (getkword "Chon phep tinh <+ - * />: "))
(if ptinh1
(setq ptinh ptinh1)
)
(cond ((= ptinh "+")
;;; cong
(prompt "\nChon text de cong:")
(setq ss (ssget '((0 . "TEXT")))
kqua 0
)
(while (and ss (> (sslength ss) 0))
(setq kqua
(+ kqua
(atof (cdr (assoc 1 (entget (setq ent (ssname ss 0))))))
)
)
(ssdel ent ss)
)
(princ kqua)
)
((= ptinh "*")
;;;nhan
(prompt "\nChon text de nhan:")
(setq ss (ssget '((0 . "TEXT")))
kqua 1
)
(while (and ss (> (sslength ss) 0))
(setq kqua
(* kqua
(atof (cdr (assoc 1 (entget (setq ent (ssname ss 0))))))
)
)
(ssdel ent ss)
)
(princ kqua)
)
((= ptinh "-")
;;;tru
(setq sobitru (car (entsel "\nChon so bi tru:"))
sotru (car (entsel "\nChon so tru:\n"))
kqua (- (atof (cdr (assoc 1 (entget sobitru))))
(atof (cdr (assoc 1 (entget sotru))))
)
)
(princ kqua)
)
((= ptinh "/")
;;;chia
(setq sobichia (car (entsel "\nChon so bi chia:"))
sochia (car (entsel "\nChon so chia:\n"))
kqua (/ (atof (cdr (assoc 1 (entget sobichia))))
(atof (cdr (assoc 1 (entget sochia))))
)
)
(princ kqua)
)
)
(if (not ssle)
(setq ssle 0)
)
(setq obj (vlax-ename->vla-object
(car (entsel "\nChon text de ghi ket qua:"))
)
ssle1 (getint (strcat "\nSo so le <" (itoa ssle) ">: "))
)
(if ssle1
(setq ssle ssle1)
)
(vla-put-TextString obj (rtos kqua 2 ssle))
(princ)
)
Không biết tác giả có ý đồ gì lại dùng tất cả biến toàn cục?!
cảm ơn Chiron cái lisp này đúng ý của mình rồi đấy.
lisp này mình down trên mạng về nên ko cũng không biết ý đồ của tác giả
p/s: chắc phải học thêm về các định nghĩa biến, e cũng cố gắng sửa mà ko hiểu bản chất nên ko được
-
Hề hề hề,
Bạn thử tự làm xem sao nhé.
Thêm dòng code:
(if (= ptinh nil)
vào phía trên dòng code:
(setq ptinh (getkword "Chon phep tinh <+ - * />: "))
Và Thêm một dấu ngoặc đóng ) vào dưới dòng code nói trên.
Chúc thành công.
Cảm ơn anh phamthanhbinh đã trả lời giúp
theo như code a giúp thêm vào thì có nghĩa là nếu biến "ptinh" còn chưa có giá trị sẽ có lựa chọn còn nếu có giá trị rồi sẽ ko còn lựa chọn được
nhưng e muốn là biến "ptinh" có giá trị rồi những vẫn cho lựa chọn, nếu enter sẽ bỏ qua và lấy lựa chọn trước đó
giống như trong câu lệnh lựa chọn "So so le <2>:" nếu mình chọn là 2 thì lần sau chỉ cần enter là sẽ nhận là số cũ hoặc có thể nhập lại số khác
(if (not ssle) (setq ssle 0))(setq obj (vlax-ename->vla-object (car (entsel "\nChon text de ghi ket qua:")))ssle1 (getint (strcat "\nSo so le <" (itoa ssle) ">: ")))(if ssle1 (setq ssle ssle1))Cảm ơn và chúc anh sức khỏe!-
1
-
-
Nhờ mọi người chỉnh sửa giúp lisp tính toán này với ạ.
mình muốn sau khi tính toán với một phép tính nào đó lần đầu thì lần gõ lệnh tính tiếp theo nó sẽ cho lựa chọn là enter để tính phép tính đó hoặc là nhập + - * / để tính phép tính khác
ví dụ : gõ lệnh "tinh" và gõ "+" để tính phép tính cộng
sau khi tính xong mình gõ lệnh "tinh" tiếp sẽ ra "Chon phep tinh <+ - * />: " nếu enter sẽ tính tiếp phép tính cộng còn nhập vào "*" sẽ tính phép tính nhân
Mong mọi người giúp đỡ. Cảm ơn!
(defun c:tinh()(vl-load-com)(initget 1 "+ - * /")(setq ptinh (getkword "Chon phep tinh <+ - * />: "))(cond ((= ptinh "+") ;;; cong(prompt "\nChon text de cong:")(setq ss (ssget '((0 . "TEXT")))kqua 0)(while (and ss (> (sslength ss) 0))(setq kqua (+ kqua (atof (cdr (assoc 1 (entget (setq ent (ssname ss 0))))))))(ssdel ent ss))(princ kqua))((= ptinh "*") ;;;nhan(prompt "\nChon text de nhan:")(setq ss (ssget '((0 . "TEXT")))kqua 1)(while (and ss (> (sslength ss) 0))(setq kqua (* kqua (atof (cdr (assoc 1 (entget (setq ent (ssname ss 0))))))))(ssdel ent ss))(princ kqua))((= ptinh "-") ;;;tru(setq sobitru (car (entsel "\nChon so bi tru:"))sotru (car (entsel "\nChon so tru:\n"))kqua (- (atof (cdr (assoc 1 (entget sobitru))))(atof (cdr (assoc 1 (entget sotru))))))(princ kqua))((= ptinh "/") ;;;chia(setq sobichia (car (entsel "\nChon so bi chia:"))sochia (car (entsel "\nChon so chia:\n"))kqua (/ (atof (cdr (assoc 1 (entget sobichia))))(atof (cdr (assoc 1 (entget sochia))))))(princ kqua)))(if (not ssle) (setq ssle 0))(setq obj (vlax-ename->vla-object (car (entsel "\nChon text de ghi ket qua:")))ssle1 (getint (strcat "\nSo so le <" (itoa ssle) ">: ")))(if ssle1 (setq ssle ssle1))(vla-put-TextString obj (rtos kqua 2 ssle))(princ)) -
Cái này mình dùng để in nhiều bản vẽ trên một layout thì ko được nhỉ ???? mọi người có dùng được ko ?
-
Chào các bác.
Cái này mình dùng rất tốt trên model nhưng trên layout lại không được nhỉ? bác nào có lisp in trên layout hướng đẫn mình với.
Cảm ơn chủ topic lisp rất hay!
Lisp In Nhiều Bản Vẽ (Kể Cả Layout)
trong AutoLisp
Đã đăng · Trả lời báo cáo
cho mình xin key nhe
1741I3 72316F 101AA