Đến nội dung


Hình ảnh
- - - - -

[ Yêu Cầu ] Lisp tạo các Layer cho trước trong một bản vẽ mới


  • Please log in to reply
50 replies to this topic

#41 phuong44e1

phuong44e1

    Edu level: li4

  • Members
  • PipPip
  • 63 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 21 June 2015 - 04:26 PM

Để thêm độ dày nét vẽ bạn làm theo cấu trúc sau
(COMMAND "LAYER" "M" "TIM" "C" "8" "" "L" "DASHDOT" "" "LW" "2" "" ""); độ dày nét vẽ 2.00 mm nhé bạn

Làm thế nào để mình không phải tạo name layer trong này trước được không bạn? Như vậy mỗi lần tạo 1 layer mới sẽ phải sửa íp 1 lần. Làm sao để cái chữ "TIM" mình có thể gõ trực tiếp khi tạo layer?
  • 0

#42 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 21 June 2015 - 04:36 PM

(COMMAND "LAYER" "M" (getstring "\nNhap ten layer: ") "C" "8" "" "L" "DASHDOT" "" "LW" "2" "" "")


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#43 phuong44e1

phuong44e1

    Edu level: li4

  • Members
  • PipPip
  • 63 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 21 June 2015 - 04:38 PM

Mình ít vẽ nhưng cũng nói luôn : nếu ai cố gắng quản lý 100 -> 500 layer, tất cả các bộ môn công trình trên cùng 1 bản vẽ thì đã làm 1 việc cực kỳ ngớ ngẩn (nói thật bạn đừng giận nha ^^)
- Lisp bạn cần trên diễn đàn có hàng nghìn người viết được, nhưng để lên tới 1 con số lớn thế thì tốt nhất bạn dùng file mẫu là hay hơn ^^ Tốc độ load file mẫu chắc chắn nhanh hơn bạn ngồi dùng lisp tạo layer. Và bạn cũng nhớ thêm Layer Filter đôi khi là khởi nguồn của những bản vẽ ... nặng vô cớ

Bạn Ketxu có thể chỉ mình cách nào để chữ KHUAT trong đoạn code sau được gõ trực tiếp ở dòng nhắc được không?
(COMMAND "LAYER" "M" "KHUAT" "C" "9" "" "L" "HIDDEN" "" "")
nó là layer name, nhưng mình muốn mỗi khi tạo layer thì nó sẽ hỏi mình là " Đặt tên cho layer". Khi đó mình sẽ gõ trực tếp tên vào như là: TUONG, NEN, TRAN... Vạy là nó sẽ có 1 layer mới với tên mới.
Thanks!
  • 0

#44 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 21 June 2015 - 04:40 PM

Tôi vừa post xong, ở trên bài của bạn í.


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#45 phuong44e1

phuong44e1

    Edu level: li4

  • Members
  • PipPip
  • 63 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 21 June 2015 - 04:47 PM

(COMMAND "LAYER" "M" (getstring "\nNhap ten layer: ") "C" "8" "" "L" "DASHDOT" "" "LW" "2" "" "")

Cảm ơn bạn Doan Van Ha rất rất nhiều nhé. Mình cũng đã thực hiện được ý tưởng của mình nhờ bạn hôm qua rồi.
Quả là 1 ngày làm việc hiệu quả.
Chúc bạn khỏe!
  • 0

#46 phuong44e1

phuong44e1

    Edu level: li4

  • Members
  • PipPip
  • 63 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 21 June 2015 - 05:14 PM

(COMMAND "LAYER" "M" (getstring "\nNhap ten layer: ") "C" "8" "" "L" "DASHDOT" "" "LW" "2" "" "")

Mình đã làm được, nhưng nó bị mắc 1 cái là khi gõ dấu cách "Space" thì nó như là enter luôn rồi nên mình không viết tên layer cách ra được mà phải viết liền tù tỳ, dính hết vào nhau. Hehe
Giúp mình với.
Tks!
  • 0

#47 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 21 June 2015 - 05:22 PM

Cái này là lỗi tôi sơ ý. Có 2 cách:

1). Sửa lại:

(COMMAND "LAYER" "M" (getstring T "\nNhap ten layer: ") "C" "8" "" "L" "DASHDOT" "" "LW" "2" "" "")

2). Không cần sửa, nhưng nhập chữ trong dấu 2 ngoặc kép. Ví dụ: "phuong 4 4 e 1".


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#48 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 21 June 2015 - 09:41 PM

Mình vẫn nhắc học sinh không được đặt tên bất kỳ Style nào có chứa dấu cách. Lý do sau này nếu vướng phải bạn sẽ hiểu ^^


  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#49 phuong44e1

phuong44e1

    Edu level: li4

  • Members
  • PipPip
  • 63 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 21 June 2015 - 11:02 PM

Cái này là lỗi tôi sơ ý. Có 2 cách:
1). Sửa lại:
(COMMAND "LAYER" "M" (getstring T "\nNhap ten layer: ") "C" "8" "" "L" "DASHDOT" "" "LW" "2" "" "")

2). Không cần sửa, nhưng nhập chữ trong dấu 2 ngoặc kép. Ví dụ: "phuong 4 4 e 1".
Mình đã làm được.
Thanks!
  • 0

#50 phuong44e1

phuong44e1

    Edu level: li4

  • Members
  • PipPip
  • 63 Bài viết
Điểm đánh giá: -2 (bình thường)

Đã gửi 21 June 2015 - 11:14 PM

Mình vẫn nhắc học sinh không được đặt tên bất kỳ Style nào có chứa dấu cách. Lý do sau này nếu vướng phải bạn sẽ hiểu ^^

Thanks!
  • 0

#51 an_bmt

an_bmt

    biết pan

  • Members
  • Pip
  • 5 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 28 April 2016 - 12:32 AM

 

 
Vấn đề của bạn đã được đề cập đến trong diễn đàn rồi bạn à, bạn làm theo cách này cũng được:
 

;;; Khoi tao Layer ;;;

(defun newlay(a b c d) 

(if (not (tblsearch "layer" a)) (command "-layer" "n" a "c" b a "l" c a "lw" d a "")

(command "-layer" "s" a "c" b a "l" c a "lw" d a "")))

;;; Sau do cu viet theo nhu cau: (newlay "name" color "laytype" lineweight), Vi du:

(defun C:laykt()

(newlay "KT-TRUC" 2 "CENTER2" 0.13)

(newlay "KT-BAO" 2 "CONTINUOUS" 0.30)

.....................................................

(prompt "\nBao cao da khoi tao he thong LAYER can thiet\n"))

 

;;; Khoi Textstyle ;;;

(command "style" "stylename" "fontname" "height" "width factor" "" "" "" "")

;;; Vi du:

(defun C:stext()

(command "style" "Standard" "simplex.shx,bigfont.shx" "0" "0.75" "" "" "" "")

.............................................................................

(prompt "\nBao cao da khoi tao to hop template TEXT STYLE can thiet\n"))

 

;;; Khoi Dimstyle ;;;

(defun C:sdim()

(C:stext)

(setvar "DIMBLK" "_Open")

(setvar "DIMLDRBLK" "_Open")

(setvar "DIMCLRD" 0)

(setvar "DIMCLRE" 0)

(setvar "DIMCLRT" 0)

(setvar "DIMCEN" 0)

(setvar "DIMDLI" 7)

(setvar "DIMEXO" 1)

(setvar "DIMEXE" 1)

(setvar "DIMSCALE" 50)

(setvar "DIMTXSTY" "Standard")

(setvar "DIMDSEP" ".")

(setvar "DIMALTD" 0)

(setvar "DIMTMOVE" 2)

(setvar "DIMAUNIT" 1)

(setvar "DIMTXT" 3.5)

(setvar "DIMADEC" 3)

(setvar "DIMTIX" 1)

(setvar "DIMASZ" 2)

(setvar "DIMDEC" 0)

(setvar "DIMGAP" 1)

(setvar "DIMLFAC" 0.4) (command "-dimstyle" "s" "KT-50-20")

(setvar "DIMLFAC" 2) (command "-dimstyle" "s" "KT-50-100")

(setvar "DIMLFAC" 0.2) (command "-dimstyle" "s" "KT-50-10")

(setvar "DIMLFAC" 0.6) (command "-dimstyle" "s" "KT-50-30")

(setvar "DIMLFAC" 1) (command "-dimstyle" "s" "KT-50")

(prompt "\nBao cao da khoi tao to hop template DIMMENSION STYLE can thiet\n"))

 

;;; Cac bien he thong ban tu nghien cuu nhe! ;;;
Goodluck!

 

 

 

 
Vấn đề của bạn đã được đề cập đến trong diễn đàn rồi bạn à, bạn làm theo cách này cũng được:
 

;;; Khoi tao Layer ;;;

(defun newlay(a b c d) 

(if (not (tblsearch "layer" a)) (command "-layer" "n" a "c" b a "l" c a "lw" d a "")

(command "-layer" "s" a "c" b a "l" c a "lw" d a "")))

;;; Sau do cu viet theo nhu cau: (newlay "name" color "laytype" lineweight), Vi du:

(defun C:laykt()

(newlay "KT-TRUC" 2 "CENTER2" 0.13)

(newlay "KT-BAO" 2 "CONTINUOUS" 0.30)

.....................................................

(prompt "\nBao cao da khoi tao he thong LAYER can thiet\n"))

 

;;; Khoi Textstyle ;;;

(command "style" "stylename" "fontname" "height" "width factor" "" "" "" "")

;;; Vi du:

(defun C:stext()

(command "style" "Standard" "simplex.shx,bigfont.shx" "0" "0.75" "" "" "" "")

.............................................................................

(prompt "\nBao cao da khoi tao to hop template TEXT STYLE can thiet\n"))

 

;;; Khoi Dimstyle ;;;

(defun C:sdim()

(C:stext)

(setvar "DIMBLK" "_Open")

(setvar "DIMLDRBLK" "_Open")

(setvar "DIMCLRD" 0)

(setvar "DIMCLRE" 0)

(setvar "DIMCLRT" 0)

(setvar "DIMCEN" 0)

(setvar "DIMDLI" 7)

(setvar "DIMEXO" 1)

(setvar "DIMEXE" 1)

(setvar "DIMSCALE" 50)

(setvar "DIMTXSTY" "Standard")

(setvar "DIMDSEP" ".")

(setvar "DIMALTD" 0)

(setvar "DIMTMOVE" 2)

(setvar "DIMAUNIT" 1)

(setvar "DIMTXT" 3.5)

(setvar "DIMADEC" 3)

(setvar "DIMTIX" 1)

(setvar "DIMASZ" 2)

(setvar "DIMDEC" 0)

(setvar "DIMGAP" 1)

(setvar "DIMLFAC" 0.4) (command "-dimstyle" "s" "KT-50-20")

(setvar "DIMLFAC" 2) (command "-dimstyle" "s" "KT-50-100")

(setvar "DIMLFAC" 0.2) (command "-dimstyle" "s" "KT-50-10")

(setvar "DIMLFAC" 0.6) (command "-dimstyle" "s" "KT-50-30")

(setvar "DIMLFAC" 1) (command "-dimstyle" "s" "KT-50")

(prompt "\nBao cao da khoi tao to hop template DIMMENSION STYLE can thiet\n"))

 

;;; Cac bien he thong ban tu nghien cuu nhe! ;;;
Goodluck!

 

(DEFUN C:Mtd()
(setvar "cmdecho" 0)
(setvar "DIMARCSYM" 1)
(setvar "DIMASZ" 150)
(setvar "DIMBLK1" "_ArchTick")
(setvar "DIMBLK2" "_ArchTick")
(setvar "DIMCEN" 200)
(setvar "DIMDEC" 0)
(setvar "DIMDLE" 100)
(setvar "DIMDLI" 50)
(setvar "DIMEXE" 100)
(setvar "DIMEXO" 6)
(setvar "DIMFXL" 0)
(setvar "DIMGAP" 100)
(setvar "DIMSCALE" 1)
(setvar "DIMTAD" 1)
(setvar "DIMTDEC" 0)
(setvar "DIMTMOVE" 2)
(setvar "DIMTXSTY" "Standard")
(setvar "DIMTXT" 225)
(setvar "DIMLFAC" 1) (command "-dimstyle" "s" "An.civil 1-100")
(setvar "DIMLFAC" 0.5) (command "-dimstyle" "s" "An.civil 1-50")
(setvar "DIMLFAC" 0.25) (command "-dimstyle" "s" "An.civil 1-25")
(setvar "DIMLFAC" 0.20) (command "-dimstyle" "s" "An.civil 1-20")
(setvar "DIMLFAC" 0.10) (command "-dimstyle" "s" "An.civil 1-10")
(setvar "DIMLFAC" 0.05) (command "-dimstyle" "s" "An.civil 1-5")
(prompt "\nBao cao da khoi tao to hop template DIMMENSION STYLE can thiet\n"))
.............................................................................


  • -1