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

Vẽ khung giấy

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

Cao thủ nào giúp e vẽ khung A3, A4 nhanh với, Ví dụ muốn tao khổ A3 chỉ cần đánh lệnh a3 chương trình sẽ tạo ra 1 hình chữ nhật kích thước 297x420 chỉ việc chọn điểm đặt vào bản vẽ. thanks 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

Bạn có thể tạo sẵn các bản vẽ mẫu rồi lưu dưới dạng *.dwt, lúc nào cần thì dùng.

 

Bạn nên tìm hiểu những bài viết cũ trước khi lập một topic mới!!

  • 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

lisp vẽ hình chữ nhật như thế thì mình làm dc  :D  :D  :D bạn nói rõ cần những khung kích thước như thế nào liệt kê ra mình viết cho, còn khung bản vẽ thì mình nghĩ bạn nên làm theo cách của Mr Trung hoặc gửi một cái khung mẫu rồi mình viết lisp cho cái khung đó với các khổ giấy tương ứng mà bạn cầ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

ĐÂY BẠN ƠI

------------------------------------------

-----------------------------

(defun c:a4 ( )
(command "undo" "be")
(setq luubatdiem (getvar "osmode"))

(setq a (getpoint "\nCHON TAM CUA KHUNG TEN: "))
(setvar "osmode" 0)

(or canhngang (setq canhngang 210))
(setq canhngang (cond ((getreal (strcat "\nCANH NGANG KHUNG TEN < " (rtos canhngang 2 2) " >:")))(canhngang)))

(or canhdung (setq canhdung 279))
(setq canhdung (cond ((getreal (strcat "\nCANH DUNG KHUNG TEN < " (rtos canhdung 2 2) " >:")))(canhdung)))

(setq aphai (polar a pi (/ canhngang 2)))
(setq atrai (polar a (* pi 2) (/ canhngang 2)))
(setq atren (polar a (/ pi 2) (/ canhdung 2)))
(setq aduoi (polar a (* (/ pi 2) 3) (/ canhdung 2)))

(setq bphai (polar aphai pi 3))
(setq btrai (polar atrai (* pi 2) 3))
(setq btren (polar atren (/ pi 2) 3))
(setq bduoi (polar aduoi (* (/ pi 2) 3) 3))

(setq gocduoitrai (polar atrai (* (/ pi 2) 3) (/ canhdung 2)))
(setq goctrenphai (polar aphai (/ pi 2) (/ canhdung 2)))

 


(command ".RECTANG" gocduoitrai goctrenphai)
(command "CHANGE" "l" "" "Properties"  "lw" "0.35" "")

(command "zoom" "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

Chào cả nhà!

Em có đoạn lisp tạo khổ giấy a3 như sau em đã mày mò mặc định được nét vẽ cho khung giấy. Hai hình vuông cùng 1 nét vẽ. Nay em muốn khai triển hai hình vuông trên mặc định 2 layer khác nhau ma làm mãi không dc. Anh em nào làm được giúp mình với. Thanks nhiều nhiều

 

(Defun c:A3 ()

(setq oldlayer (getvar 'clayer)) (setvar 'clayer "0")

(SETQ OLDERR *error*

      *error* myerror)

(setvar 'clayer "0")

(SETQ CMD (GETVAR "CMDECHO"))

(SETQ OSM (GETVAR "OSMODE"))

   (setvar "OSMODE" 0)

   (setq mv_sc 100)

   (setq x3  420)

   (setq y3  297)

   (setq x3 (* mv_sc x3) 

         y3 (* mv_sc y3))

   (command  

    "LIMITS" "0,0" (list x3 y3)

    "PLINE" "0,0" (list 0 y3) (list x3 y3) (list x3 0) "0,0" "_C"

    "RECTANG" "2500,1000" "@38500,27700"

    "ZOOM" "_a"  )

   (setvar "OSMODE" 4263)

(SETVAR "OSMODE" OSM)

(SETVAR "CMDECHO" CMD)

(setvar 'clayer oldlayer)

(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

hiện tại 2 đường Pline và đường rectang đều đang được set là layer 0

bạn muốn hình nào layer nào thì chỉ cần dùng lệnh set layer trước khi thực hiện lệnh vẽ hình đó: (setvar 'clayer "0") với 0 là tên của layer cần set

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 2 đường Pline và đường rectang đều đang được set là layer 0

bạn muốn hình nào layer nào thì chỉ cần dùng lệnh set layer trước khi thực hiện lệnh vẽ hình đó: (setvar 'clayer "0") với 0 là tên của layer cần set

Hiện tại set layer 0 thi 2 net cua khung giấy đều về lay 0. Ý mình muốn là them đoạn mã trên (setq oldlayer (getvar 'clayer)) (setvar 'clayer "0") vào vị trí nào để mac dinh dc 2 layer khac nhau! Bạn có thể nói rõ hơn dc khong? thank ban nhieu nhieu!

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 2 đường Pline và đường rectang đều đang được set là layer 0

bạn muốn hình nào layer nào thì chỉ cần dùng lệnh set layer trước khi thực hiện lệnh vẽ hình đó: (setvar 'clayer "0") với 0 là tên của layer cần set

Hien tai minh set layer 0 thi ca 2 net ve ve mot layer o. y minh muon la chen doan ma tren nhu the nao de dc 2 net rieng biet 2 layer khac nhau. cam on nhieu nhieu!

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ó 2 trường hợp xảy ra: 1 là 2 layer riêng biệt đó bạn đã có trước thì bạn chỉ cần set layer đó thì những hình vẽ sau khi set sẽ mang thuộc tính của layer vừa set

2 là 2 layer riêng biệt như bạn nói chưa có sẵn thì phải tạo ra trước rồi (quay lại trường hợp 1) set theo cú pháp như câu trả lời bài #7

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

Chào cả nhà!

Em có đoạn lisp tạo khổ giấy a3 như sau em đã mày mò mặc định được nét vẽ cho khung giấy. Hai hình vuông cùng 1 nét vẽ. Nay em muốn khai triển hai hình vuông trên mặc định 2 layer khác nhau ma làm mãi không dc. Anh em nào làm được giúp mình với. Thanks nhiều nhiều

 

(Defun c:A3 ()

(setq oldlayer (getvar 'clayer)) (setvar 'clayer "0")

(SETQ OLDERR *error*

      *error* myerror)

(setvar 'clayer "0")

(SETQ CMD (GETVAR "CMDECHO"))

(SETQ OSM (GETVAR "OSMODE"))

   (setvar "OSMODE" 0)

   (setq mv_sc 100)

   (setq x3  420)

   (setq y3  297)

   (setq x3 (* mv_sc x3) 

         y3 (* mv_sc y3))

   (command  

    "LIMITS" "0,0" (list x3 y3)

    "PLINE" "0,0" (list 0 y3) (list x3 y3) (list x3 0) "0,0" "_C"

    "RECTANG" "2500,1000" "@38500,27700"

    "ZOOM" "_a"  )

   (setvar "OSMODE" 4263)

(SETVAR "OSMODE" OSM)

(SETVAR "CMDECHO" CMD)

(setvar 'clayer oldlayer)

(princ))

Khá rảnh nên ôn bài tí :D :D :D

Bạn thêm dòng này: 

(if (not (tblsearch "layer" "net_moi"))

(command "-layer" "m" "net_moi" "c" 11 "" "l" "continuous" "" "")

(setvar 'clayer "net_moi"))

vào trước dòng:

"RECTANG" "2500,1000" "@38500,27700"

để cái Rectang vẽ ra mang layer "net_moi"

(Defun c:A3 ()
(setq oldlayer (getvar 'clayer)) (setvar 'clayer "0")
(SETQ OLDERR *error*
      *error* myerror)
(setvar 'clayer "0")
(SETQ CMD (GETVAR "CMDECHO"))
(SETQ OSM (GETVAR "OSMODE"))
   (setvar "OSMODE" 0)
   (setq mv_sc 100)
   (setq x3  420)
   (setq y3  297)
   (setq x3 (* mv_sc x3) 
         y3 (* mv_sc y3))
   (command  
    "LIMITS" "0,0" (list x3 y3)
    "PLINE" "0,0" (list 0 y3) (list x3 y3) (list x3 0) "0,0" "_C")
(if (not (tblsearch "layer" "net_moi"))
(command "-layer" "m" "net_moi" "c" 11 "" "l" "continuous" "" "")
(setvar 'clayer "net_moi"))
    (command "RECTANG" "2500,1000" "@38500,27700"
    "ZOOM" "_a"  )
   (setvar "OSMODE" 4263)
(SETVAR "OSMODE" OSM)
(SETVAR "CMDECHO" CMD)
(setvar 'clayer oldlayer)
(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

 

Khá rảnh nên ôn bài tí :D :D :D

Bạn thêm dòng này: 

(if (not (tblsearch "layer" "net_moi"))

(command "-layer" "m" "net_moi" "c" 11 "" "l" "continuous" "" "")

(setvar 'clayer "net_moi"))

vào trước dòng:

"RECTANG" "2500,1000" "@38500,27700"

để cái Rectang vẽ ra mang layer "net_moi"

(Defun c:A3 ()
(setq oldlayer (getvar 'clayer)) (setvar 'clayer "0")
(SETQ OLDERR *error*
      *error* myerror)
(setvar 'clayer "0")
(SETQ CMD (GETVAR "CMDECHO"))
(SETQ OSM (GETVAR "OSMODE"))
   (setvar "OSMODE" 0)
   (setq mv_sc 100)
   (setq x3  420)
   (setq y3  297)
   (setq x3 (* mv_sc x3) 
         y3 (* mv_sc y3))
   (command  
    "LIMITS" "0,0" (list x3 y3)
    "PLINE" "0,0" (list 0 y3) (list x3 y3) (list x3 0) "0,0" "_C")
(if (not (tblsearch "layer" "net_moi"))
(command "-layer" "m" "net_moi" "c" 11 "" "l" "continuous" "" "")
(setvar 'clayer "net_moi"))
    (command "RECTANG" "2500,1000" "@38500,27700"
    "ZOOM" "_a"  )
   (setvar "OSMODE" 4263)
(SETVAR "OSMODE" OSM)
(SETVAR "CMDECHO" CMD)
(setvar 'clayer oldlayer)
(princ))

Cám ơn bạn nhiều nhiều! 

Edu level: li5

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


×