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

Nhờ sửa lisp về thang bộ

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

Em có cái lisp vẽ cầu thang bộ sưu tầm được nhưng khi ve thấy cái cấu tạo chưa đúng.

Bác nao giúp em sửa lại cái lisp ấy để khi vẽ nó đúng cấu tạo của thang

em có gửi kèm ảnh và file cad vẽ cấu tạo của thang muốn được các bác viết lại lisp,và đồng thời gửi cả cái lisp vẽ thang chưa đúng đó

rất mong các bác giúp đỡ.xin chân thành cảm ơn rất nhiều!

lispcadmuonduocsua.jpg

lispcadmuonduocsua.jpg[/img]

http://www.mediafire.com/?4n8y8d3pvhupv0c

My link

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

Em có cái lisp vẽ cầu thang bộ sưu tầm được nhưng khi ve thấy cái cấu tạo chưa đúng.

Bác nao giúp em sửa lại cái lisp ấy để khi vẽ nó đúng cấu tạo của thang

em có gửi kèm ảnh và file cad vẽ cấu tạo của thang muốn được các bác viết lại lisp,và đồng thời gửi cả cái lisp vẽ thang chưa đúng đó

rất mong các bác giúp đỡ.xin chân thành cảm ơn rất nhiều!

lispcadmuonduocsua.jpg

lispcadmuonduocsua.jpg[/img]

http://www.mediafire.com/?4n8y8d3pvhupv0c

My link

Cái này mình đã từng sửa trên diễn đàn rồi. Mình port lại cho bạn đây.

(defun c:vtb (/ p c r sb oldos nb bk MBTong1 tl1 angh1 MBTong2 tl2 angh2
MBTong3 tl3 angh3 d oldos di ang p2 p3 p4 dibt pbt1 
pbt2 pbt3 el1 el2 el3 ans)
(setvar "cmdecho" 0)
(setq old_layer (getvar "clayer"))
(setq tbl (tblsearch "layer" "_cat"))
(if (= tbl nil) (command "-layer" "n" "_cat" "c" "4" "_cat" ""))
(setq tbl1 (tblsearch "layer" "_hatch"))
(if (= tbl1 nil) (command "-layer" "n" "_hatch" "c" "8" "_hatch" ""))
(setq tbl2 (tblsearch "layer" "_thay"))
(if (= tbl2 nil) (command "-layer" "n" "_thay" "c" "23" "_thay" ""))
(setvar "clayer" "_cat")
(setq nb 20.0 bk 10.0
MBTong1 "ANSI32" tl1 100 angh1 0
MBTong2 "ar-conc" tl2 10 angh2 0
MBTong3 "ANSI31" tl3 200 angh3 0
MBTong4 "ar-sand" tl4 4 angh4 0
p (getpoint "\nVao diem dau tien: ")
c (getdist p "\nVao chieu cao bac: ")
r (getdist p "\nVao chieu rong bac: ")
sb (getint "\nVao so bac: ")
d (getdist "\nVao be day ban thang be tong : ")
oldos (getvar "osmode")
di (* sb (sqrt (+ (* c c) (* r r)) ))
ang (atan (/ c r))
p01 (polar p 0 10)
p02 (polar p01 (/ (* 270 pi) 180) 20)
p03 (polar p02 ang (/ 20 (sin ang)))
p2 (polar p02 ang di)
p22 (polar p2 (/ (* 90 pi) 180) 20)
p222 (polar p22 (/ (* 180 pi) 180) 10)
p3 (polar p03 0 (/ d (sin ang)))
p33 (polar p02 0 (/ d (sin ang)))
p4 (polar p2 (/ (* 3 pi) 2) (/ d (cos ang))) 
dibt (/ 10 (cos ang))
pbt1 p02
pbt3 (polar p02 ang (/ (distance p02 p2) sb) ) 
pbt2 (list (car pbt1) (cadr pbt3) 0)
pbt4 (polar pbt2 (/ (* 90 pi) 180) 10)
)
(setvar "osmode" 0 )
(command ".pline")
(command p)
(repeat sb
(command
(strcat "@0," (rtos (- c (* 2.0 bk))))
(strcat "@" (rtos (- bk nb)) ",0")
"a"
(strcat "@0," (rtos (* 2.0 bk)))
"l"
(strcat "@" (rtos (+ (- nb bk) r)) ",0")
)
)
(command "")
(setq thay (entlast))
(initget "C K")
(setq ans (getkword "\n Ban muon cat qua cau thang hay khong < C / K > :"))
(if (= ans "K")
(progn
(command "pline" p p3 p4 p2 p22 p222 "")
(command "change" "l" "" "p" "la" "_thay" "")
(command "change" thay "" "p" "la" "_thay" "")
)
)
(if (= ans "C") 
(progn
(setvar "cmdecho" 0)
(command "line" p p01 "")
(setq el4 (entlast))
(command "pline" p02 p33 p4 p2 "c")
(setq eL (entlast))
(command "hatch" MBTong1 tl1 angh1 eL "")
(command "change" "l" "" "p" "la" "_hatch" "")
(command "hatch" MBTong2 tl2 angh2 eL "")
(command "change" "l" "" "p" "la" "_hatch" "")
(command "pline" pbt1 pbt2 pbt3 "C")
(setq eL1 (entlast))
(command "hatch" MBTong3 tl3 angh3 eL1 "")
(command "change" "l" "" "p" "la" "_hatch" "")
(setq eL2 (entlast))
(command "line" pbt3 (list (car p) (cadr pbt3) 0) "")
(setq eL3 (entlast))
(command "ucs" "z" p02 p2)
(command "ARray" el1 el2 el3 el4 "" "R" "1" sb (/ di sb))
(command "ucs" "")
(command "-BOUNDARY" pbt4 "")
(setq eL5 (entlast))
(command "rectang" p pbt2)
(setq eL6 (entlast))
(command "hatch" MBTong4 tl4 angh4 eL5 "")
(command "change" "l" "" "p" "la" "_hatch" "")
(setq eL8 (entlast))
(command "hatch" MBTong4 tl4 angh4 el6 "")
(command "change" "l" "" "p" "la" "_hatch" "")
(setq eL7 (entlast))
(command "ucs" "z" p02 p2)
(command "ARray" eL5 eL6 el7 el8 "" "R" "1" sb (/ di sb))
(command "ucs" "")
)
)
(setvar "osmode" oldos)
(setvar "clayer" old_layer)
(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ác bác chỉ cho em cách vẽ thang và mặt cắt của nó với, và các vẽ lan can cầu thang có những con tiện.em là newbie các bác giúp em với :D!

em cám ơn các bác ạ! :X

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 này tự vẽ nhanh hơn lisp đó

Xin mạn phép bạn phamngoctu.kts tâm sự với bác rằng: hãy trân trọng mọi cái người khác dành cho mình. Dù nó có dỡ thì đó cũng là tình cảm của người cho. Đằng này, tôi thấy lisp này đâu đến nổi tệ. Còn tự vẽ nhanh hơn lisp thì tôi mới nghe lần đầu (ít nhất là trong trường hợp này). Chắc bác và tôi cùng nghĩ: CADViet là nơi giao lưu, ai chưa biết điều gì thì hỏi, ai biết điều đó thì giúp, người biết điều này có thể chưa biết điều khác, cứ hỏi, và cứ trả lời. Nhờ vậy chúng ta càng biết hơn.

  • 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

Xin mạn phép bạn phamngoctu.kts tâm sự với bác rằng: hãy trân trọng mọi cái người khác dành cho mình. Dù nó có dỡ thì đó cũng là tình cảm của người cho. Đằng này, tôi thấy lisp này đâu đến nổi tệ. Còn tự vẽ nhanh hơn lisp thì tôi mới nghe lần đầu (ít nhất là trong trường hợp này). Chắc bác và tôi cùng nghĩ: CADViet là nơi giao lưu, ai chưa biết điều gì thì hỏi, ai biết điều đó thì giúp, người biết điều này có thể chưa biết điều khác, cứ hỏi, và cứ trả lời. Nhờ vậy chúng ta càng biết hơn.

sao mình load lsp này toàn bị báo syntax error nhỉ, bạn có biết cách khắc phục không, mình dùng cad2014

  • 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

sao mình load lsp này toàn bị báo syntax error nhỉ, bạn có biết cách khắc phục không, mình dùng cad2014

Sửa lại đây:

(defun c:vtb (/ p c r sb oldos nb bk mbtong1 tl1 angh1 mbtong2 tl2 angh2 mbtong3 tl3 angh3 d oldos di ang p2 p3 p4 dibt pbt1 pbt2 pbt3 el1 el2 el3

ans angh4 el el4 el5 el6 el7 el8 mbtong4 old_layer p01 p02 p03 p22 p222 p33 pbt4 tbl tbl1 tbl2 thay tl4)

(setq oldos (getvar "osmode"))

(setvar "cmdecho" 0)

(setq old_layer (getvar "clayer"))

(setq tbl (tblsearch "layer" "_cat"))

(if (= tbl nil)

(command "-layer" "n" "_cat" "c" "4" "_cat" ""))

(setq tbl1 (tblsearch "layer" "_hatch"))

(if (= tbl1 nil)

(command "-layer" "n" "_hatch" "c" "8" "_hatch" ""))

(setq tbl2 (tblsearch "layer" "_thay"))

(if (= tbl2 nil)

(command "-layer" "n" "_thay" "c" "23" "_thay" ""))

(setvar "clayer" "_cat")

(setq nb 20.0

bk 10.0

mbtong1 "ansi32"

tl1 100

angh1 0

mbtong2 "ar-conc"

tl2 10

angh2 0

mbtong3 "ansi31"

tl3 200

angh3 0

mbtong4 "ar-sand"

tl4 4

angh4 0

p (getpoint "\nvao diem dau tien: ")

c (getdist p "\nvao chieu cao bac: ")

r (getdist p "\nvao chieu rong bac: ")

sb (getint "\nvao so bac: ")

d (getdist "\nvao be day ban thang be tong : ")

di (* sb (sqrt (+ (* c c) (* r r))))

ang (atan (/ c r))

p01 (polar p 0 10)

p02 (polar p01 (/ (* 270 pi) 180) 20)

p03 (polar p02 ang (/ 20 (sin ang)))

p2 (polar p02 ang di)

p22 (polar p2 (/ (* 90 pi) 180) 20)

p222 (polar p22 (/ (* 180 pi) 180) 10)

p3 (polar p03 0 (/ d (sin ang)))

p33 (polar p02 0 (/ d (sin ang)))

p4 (polar p2 (/ (* 3 pi) 2) (/ d (cos ang)))

dibt (/ 10 (cos ang))

pbt1 p02

pbt3 (polar p02 ang (/ (distance p02 p2) sb))

pbt2 (list (car pbt1) (cadr pbt3) 0)

pbt4 (polar pbt2 (/ (* 90 pi) 180) 10))

(setvar "osmode" 0)

(command ".pline")

(command p)

(repeat sb

(command (strcat "@0," (rtos (- c (* 2.0 bk))))

(strcat "@" (rtos (- bk nb)) ",0")

"a"

(strcat "@0," (rtos (* 2.0 bk)))

"l"

(strcat "@" (rtos (+ (- nb bk) r)) ",0")))

(command "")

(setq thay (entlast))

(initget "c k")

(setq ans (getkword "\n ban muon cat qua cau thang hay khong < c / k > :"))

(if (= ans "k")

(progn (command "pline" p p3 p4 p2 p22 p222 "")

(command "change" "l" "" "p" "la" "_thay" "")

(command "change" thay "" "p" "la" "_thay" "")))

(if (= ans "c")

(progn (setvar "cmdecho" 0)

(command "line" p p01 "")

(setq el4 (entlast))

(command "pline" p02 p33 p4 p2 "c")

(setq el (entlast))

(command "hatch" mbtong1 tl1 angh1 el "")

(command "change" "l" "" "p" "la" "_hatch" "")

(command "hatch" mbtong2 tl2 angh2 el "")

(command "change" "l" "" "p" "la" "_hatch" "")

(command "pline" pbt1 pbt2 pbt3 "c")

(setq el1 (entlast))

(command "hatch" mbtong3 tl3 angh3 el1 "")

(command "change" "l" "" "p" "la" "_hatch" "")

(setq el2 (entlast))

(command "line" pbt3 (list (car p) (cadr pbt3) 0) "")

(setq el3 (entlast))

(command "ucs" "z" p02 p2)

(command "array" el1 el2 el3 el4 "" "r" "1" sb (/ di sb))

(command "ucs" "")

(command "-boundary" pbt4 "")

(setq el5 (entlast))

(command "rectang" p pbt2)

(setq el6 (entlast))

(command "hatch" mbtong4 tl4 angh4 el5 "")

(command "change" "l" "" "p" "la" "_hatch" "")

(setq el8 (entlast))

(command "hatch" mbtong4 tl4 angh4 el6 "")

(command "change" "l" "" "p" "la" "_hatch" "")

(setq el7 (entlast))

(command "ucs" "z" p02 p2)

(command "array" el5 el6 el7 el8 "" "r" "1" sb (/ di sb))

(command "ucs" "")))

(setvar "osmode" oldos)

(setvar "clayer" old_layer)

(princ))

  • 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

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

×