Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
quansla

[Hỏi] Liệu có thể tạo một DimStyle mới bằng "entmake"

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

Các bác cho em hỏi thế này với, hiện nay em vẫn dùng lisp tạo Dimstyle mới bằng một lisp mà nội dùng là một loạt các câu lệnh (setqvar "dim..." ??) và kết thúc bằng (command "-dimstyle" "save" ..)

Nhưng hôm nay em phát hiện ra Dimstyle cũng có thể lấy được DXF.

Kiểu như thế này

((0 . "DIMSTYLE") (2 . "123") (70 . 0) (3 . "") (4 . "") (5 . "ArchTick") (6 .
"") (7 . "") (40 . 100.0) (41 . 1.2) (42 . 0.0) (43 . 6.0) (44 . 1.0) (45 .
0.0) (46 . 1.0) (47 . 0.0) (48 . 0.0) (140 . 2.0) (141 . 2.0) (142 . 0.0) (143
. 0.0393701) (144 . 1.0) (145 . 0.0) (146 . 1.0) (147 . 0.5) (71 . 0) (72 . 0)
(73 . 0) (74 . 0) (75 . 0) (76 . 0) (77 . 1) (78 . 8) (170 . 0) (171 . 3) (172
. 1) (173 . 0) (174 . 1) (175 . 0) (176 . 19) (177 . 250) (178 . 4) (270 . 2)
(271 . 2) (272 . 2) (273 . 2) (274 . 3) (340 . <Entity name: 7ef03490>) (275 .
0) (280 . 0) (281 . 0) (282 . 0) (283 . 0) (284 . 8) (285 . 0) (286 . 0) (287 .
3) (288 . 0))

Vậy em hỏi liệu có cách nào dùng hàm (entmake ..) để tạo thêm Dimstyle được không ạh

Cảm ơn mọi ngườ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

Được! Dưới đây là 1 ví dụ. Bạn căn cứ vào đó mà tạo dimstyle riêng cho mình.

Về cơ bản là lấy entget của 1 dimstyle hiện có trên bản vẽ để tạo cái tương tự (loại trừ các entity).

(defun C:HA()
(entmake '((0 . "DIMSTYLE") (100 . "AcDbSymbolTableRecord")
(100 . "AcDbDimStyleTableRecord")
(2 . "HA") (70 . 0) (3 . "") (4 . "") (5 .
"ArchTick") (6 . "") (7 . "")
(40 . 96.0) (41 . 0.09375) (42 . 0.125) (43 . 0.38) (44 . 0.125)
(45 . 0.0) (46 . 0.0) (47 . 0.0) (48 . 0.0) (140 . 0.18) (141 .
0.09) (142 . 0.0)
(143 . 25.4) (144 . 1.0) (145 . 0.0) (146 . 1.0) (147 . 0.0625) (71
. 0)
(72 . 0) (73 . 1) (74 . 1) (75 . 0) (76 . 0) (77 . 0) (78 . 3) (170
. 0) (171 . 2)
(172 . 0) (173 . 0) (174 . 0) (175 . 0) (176 . 2) (177 . 2) (178 .
3) (270 . 4)
(271 . 4) (272 . 4) (273 . 2) (274 . 2) (275 . 0) (280 . 0) (281 .
0) (282 . 0)
(283 . 1) (284 . 0) (285 . 0) (286 . 0) (287 . 3) (288 . 0)
)))

  • 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

Được! Dưới đây là 1 ví dụ. Bạn căn cứ vào đó mà tạo dimstyle riêng cho mình.

Về cơ bản là lấy entget của 1 dimstyle hiện có trên bản vẽ để tạo cái tương tự (loại trừ các entity).

cảm ơn bác thì ra chỉ cần bỏ entity đi là được hì hì

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

Đừng đùa! Có 2 dòng này rất quan trọng nè (chứ không phải chỉ loại entity trong entget đâu):

(100 . "AcDbSymbolTableRecord")

(100 . "AcDbDimStyleTableRecord")

  • 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

Có tài liệu nào thống kê riêng mã DXF cho Dimension ko nhỉ....nhiều thế này tra Help của CAD loạn luôn.... :)

Tra thì lâu lắm bạn àh, nếu hiểu sơ sơ lisp bạn có thể làm theo cách này

Tự tạo một kiểu Dim phù hợp với mình, dùng cú pháp sau

(tblsearch "dimstyle" "d100")

để có mã DXF của DimStyle đó, sau đó chỉ cần sửa lại 2 giá trị quan trọng nhất là biến DimScale (mã DXF là 40) và biến DimLfac(Mã DXF là 144)

sau đó dùng hàm (entmake) như của bác Hà, bằng cách thay các thông số của bác ấy là thông số của mình và bỏ đi thông tin về entity,

 

 

thêm vào hai dòng

(100 . "AcDbSymbolTableRecord")

(100 . "AcDbDimStyleTableRecord")

 

ở phía dưới Mã DXF 0

 

 

chúc bạn thành công

còn đây là một số mã DXF mình khai thác được ý nghĩa

((0 . "DIMSTYLE")  ;la thiet lap danh cho DimStyle
 (2 . "D100")   ;Ten Dimstyle
 (70 . 0)  
 (3 . "")
 (4 . "")
 (5 . "ArchTick")  ;Mui ten chung (2 dau kich thuoc)
 (6   .   ""  )  ;Mui ten cho dau KT 1
 (7 . "")   ;Mui ten cho dau KT 2
 (40 . 100.0)   ;Gia tri cua bien DimScale
 (41 . 1.2)   ;Gia tri cua mui ten (bien DimAsz)
 (42 . 0.0)  
 (43 . 6.0)   ;;gia tri khoang cach dim do bang lenh DimBase
 (44 . 1.0)   ;gia tri giong nho ra duong ghi.KT
 (45  .  0.0 )   ;;gia tri duong giong lay cach diem bat chan dim
 (46 . 1.0)   ;bien DImDle gia tri D.ghi.KT nho ra duong giong
 (47 . 0.0)
 (48 . 0.0)
 (140 . 2.0)   ;Kich thuoc Dimtext (bien Dimtxt)
 (141 . 2.0)   ;Bien DimCen (gia tri cua duong tam)
 (142 . 0.0)  
 (143  .  0.0393701 )  ;;Kha nang la Unit
 (144 . 1.0)   ;GIA TRI BIEN DIMLFAC , quan trong
 (145 . 0.0)
 (146 . 1.0)
 (147 . 0.5)   ;Gia tri text Offset duong giong(bien DimGap)
 (71 . 0)
 (72 . 0)
 (73 . 0)
 (74 . 0)
 (75 . 0)
 (76 . 0)
 (77 . 1)
 (78 . 8)
 (170 . 0)
 (171 . 3)
 (172 . 1)
 (173 . 0)
 (174 . 1)
 (175 . 0)
 (176 . 19)
 (177 . 250)
 (178 . 4)
 (270 . 2)
 (271 . 2)   ;;So chu so sau dau "," phan thap phan cua DIM
 (272 . 2)
 (273 . 2)
 (274 . 3)
 (340 . <Entity name: 7ef03490>)
 (275 . 0)
 (280 . 0)
 (281 . 0)
 (282 . 0)
 (283 . 0)
 (284 . 8)
 (285 . 0)
 (286 . 0)
 (287 . 3)
 (288 . 0)
)

Chỉnh sửa theo quansla
  • 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

Đừng đùa! Có 2 dòng này rất quan trọng nè (chứ không phải chỉ loại entity trong entget đâu):

(100 . "AcDbSymbolTableRecord")

(100 . "AcDbDimStyleTableRecord")

A, quả thế thật, để em tìm hiểu 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

Tra thì lâu lắm bạn àh, nếu hiểu sơ sơ lisp bạn có thể làm theo cách này

Tự tạo một kiểu Dim phù hợp với mình, dùng cú pháp sau

(tblsearch "dimstyle" "d100")

để có mã DXF của DimStyle đó, sau đó chỉ cần sửa lại 2 giá trị quan trọng nhất là biến DimScale (mã DXF là 40) và biến DimLfac(Mã DXF là 144)

sau đó dùng hàm (entmake) như của bác Hà,tạo một lisp tạo DImstyle bằng cách thay toàn bộ nội dung của phía sau (entmake ' ....đến hết hàm của nó(trong lisp bác Hà) bằng phần ((0 . "(0 . "DIMSTYLE")... mà Cad vừa cung cấp

 

và bỏ đi thông tin về entity,

 

 

thêm vào hai dòng

(100 . "AcDbSymbolTableRecord")

(100 . "AcDbDimStyleTableRecord")

 

ở phía dưới Mã DXF 0

 

 

chúc bạn thành công

còn đây là một số mã DXF mình khai thác được ý nghĩa

((0 . "DIMSTYLE")  ;la thiet lap danh cho DimStyle
 (2 . "D100")   ;Ten Dimstyle
 (70 . 0)  
 (3 . "")
 (4 . "")
 (5 . "ArchTick")  ;Mui ten chung (2 dau kich thuoc)
 (6   .   ""  )  ;Mui ten cho dau KT 1
 (7 . "")   ;Mui ten cho dau KT 2
 (40 . 100.0)   ;Gia tri cua bien DimScale
 (41 . 1.2)   ;Gia tri cua mui ten (bien DimAsz)
 (42 . 0.0)  
 (43 . 6.0)   ;;gia tri khoang cach dim do bang lenh DimBase
 (44 . 1.0)   ;gia tri giong nho ra duong ghi.KT
 (45  .  0.0 )   ;;gia tri duong giong lay cach diem bat chan dim
 (46 . 1.0)   ;bien DImDle gia tri D.ghi.KT nho ra duong giong
 (47 . 0.0)
 (48 . 0.0)
 (140 . 2.0)   ;Kich thuoc Dimtext (bien Dimtxt)
 (141 . 2.0)   ;Bien DimCen (gia tri cua duong tam)
 (142 . 0.0)  
 (143  .  0.0393701 )  ;;Kha nang la Unit
 (144 . 1.0)   ;GIA TRI BIEN DIMLFAC , quan trong
 (145 . 0.0)
 (146 . 1.0)
 (147 . 0.5)   ;Gia tri text Offset duong giong(bien DimGap)
 (71 . 0)
 (72 . 0)
 (73 . 0)
 (74 . 0)
 (75 . 0)
 (76 . 0)
 (77 . 1)
 (78 . 8)
 (170 . 0)
 (171 . 3)
 (172 . 1)
 (173 . 0)
 (174 . 1)
 (175 . 0)
 (176 . 19)
 (177 . 250)
 (178 . 4)
 (270 . 2)
 (271 . 2)   ;;So chu so sau dau "," phan thap phan cua DIM
 (272 . 2)
 (273 . 2)
 (274 . 3)
 (340 . <Entity name: 7ef03490>)
 (275 . 0)
 (280 . 0)
 (281 . 0)
 (282 . 0)
 (283 . 0)
 (284 . 8)
 (285 . 0)
 (286 . 0)
 (287 . 3)
 (288 . 0)
)

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

(defun C:CT()
(entmake '((0 . "DIMSTYLE") (100 . "AcDbSymbolTableRecord")
(100 . "AcDbDimStyleTableRecord")
(2 . "CT") (70 . 0) (3 . "") (4 . "") (5 .
"ARCHTICK") (6 . "") (7 . "")
(40 . 0.0) (41 . 50.0) (42 . 0.0) (43 . 40.0) (44 . 50.0)
(45 . 0.0) (46 . 50.0) (47 . 0.0) (48 . 0.0) (140 . 100.0) (141 .
10.0) (142 . 0.0)
(143 . 0.0394) (144 . 1.0) (145 . 0.0) (146 . 1.0) (147 . 50.0) (71
. 0)
(72 . 0) (73 . 0) (74 . 0) (75 . 0) (76 . 0) (77 . 1) (78 . 8) (170
. 0) (171 . 4)
(172 . 1) (173 . 0) (174 . 1) (175 . 0) (176 . 156) (177 . 156) (178 .
33) (270 . 2)
(271 . 0) (272 . 0) (273 . 2) (274 . 4) (275 . 0) (280 . 0) (281 .
0) (282 . 0)
(283 . 1) (284 . 0) (285 . 0) (286 . 0) (287 . 5) (288 . 0))
))

  • 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

 

Tra thì lâu lắm bạn àh, nếu hiểu sơ sơ lisp bạn có thể làm theo cách này

Tự tạo một kiểu Dim phù hợp với mình, dùng cú pháp sau

(tblsearch "dimstyle" "d100")
để có mã DXF của DimStyle đó, sau đó chỉ cần sửa lại 2 giá trị quan trọng nhất là biến DimScale (mã DXF là 40) và biến DimLfac(Mã DXF là 144)

sau đó dùng hàm (entmake) như của bác Hà, bằng cách thay các thông số của bác ấy là thông số của mình và bỏ đi thông tin về entity,

 

 

thêm vào hai dòng

(100 . "AcDbSymbolTableRecord")

(100 . "AcDbDimStyleTableRecord")

 

ở phía dưới Mã DXF 0

 

 

chúc bạn thành công

còn đây là một số mã DXF mình khai thác được ý nghĩa

((0 . "DIMSTYLE")  ;la thiet lap danh cho DimStyle
  (2 . "D100")   ;Ten Dimstyle
  (70 . 0)  
  (3 . "")
  (4 . "")
  (5 . "ArchTick")  ;Mui ten chung (2 dau kich thuoc)
  (6   .   ""  )  ;Mui ten cho dau KT 1
  (7 . "")   ;Mui ten cho dau KT 2
  (40 . 100.0)   ;Gia tri cua bien DimScale
  (41 . 1.2)   ;Gia tri cua mui ten (bien DimAsz)
  (42 . 0.0)  
  (43 . 6.0)   ;;gia tri khoang cach dim do bang lenh DimBase
  (44 . 1.0)   ;gia tri giong nho ra duong ghi.KT
  (45  .  0.0 )   ;;gia tri duong giong lay cach diem bat chan dim
  (46 . 1.0)   ;bien DImDle gia tri D.ghi.KT nho ra duong giong
  (47 . 0.0)
  (48 . 0.0)
  (140 . 2.0)   ;Kich thuoc Dimtext (bien Dimtxt)
  (141 . 2.0)   ;Bien DimCen (gia tri cua duong tam)
  (142 . 0.0)  
  (143  .  0.0393701 )  ;;Kha nang la Unit
  (144 . 1.0)   ;GIA TRI BIEN DIMLFAC , quan trong
  (145 . 0.0)
  (146 . 1.0)
  (147 . 0.5)   ;Gia tri text Offset duong giong(bien DimGap)
  (71 . 0)
  (72 . 0)
  (73 . 0)
  (74 . 0)
  (75 . 0)
  (76 . 0)
  (77 . 1)
  (78 . 8)
  (170 . 0)
  (171 . 3)
  (172 . 1)
  (173 . 0)
  (174 . 1)
  (175 . 0)
  (176 . 19)
  (177 . 250)
  (178 . 4)
  (270 . 2)
  (271 . 2)   ;;So chu so sau dau "," phan thap phan cua DIM
  (272 . 2)
  (273 . 2)
  (274 . 3)
  (340 . <Entity name: 7ef03490>)
  (275 . 0)
  (280 . 0)
  (281 . 0)
  (282 . 0)
  (283 . 0)
  (284 . 8)
  (285 . 0)
  (286 . 0)
  (287 . 3)
  (288 . 0)
)

Anh ơi cho em hỏi làm sao để đổi style chữ và chiều cao chữ khi tạo bằng entmake vậy ạ

em cảm ơ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

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
Đăng nhập để thực hiện theo  

×