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

Mdim và Cutdim với Dim annotative

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

Em mới mày mò trong layout, em dùng Cad2009, khi em Tạo đường kích thứơc có tùy chọn là annotative thì khi sử dụng Lsp trên diễn đàn về lệnh MDIM và LỆNH CUTDIM thì chỉ có lệnh CUTDIM dùng bình thường Còn lệnh MDIM thì không có tác dụng, nhờ các bác xem hộ có thể nào MDIM được các kích thước có tùy chọn annotative không ạ?

 

Và đây là hai LISP đấy:

 

;======LISP THAM KHAO CADVIET

;==================================

(DEFUN C:CUTDIM (/ CMD SS LTH DEM PT DS KDL N70 GOCX GOCY PT13 PT14 PTI PT13I PT14I

PT13N PT14N O13 O14 N13 N14 OSM OLDERR PT10 PT11)

(SETQ CMD (GETVAR "CMDECHO"))

(SETQ OSM (GETVAR "OSMODE"))

(SETQ OLDERR *error*

*error* myerror)

(PRINC "Chon duong do kich thuong :")

(SETQ SS (SSGET))

(SETVAR "CMDECHO" 0)

(SETQ PT (GETPOINT "Chon diem de bat dau cat dim :"))

(SETQ PT (TRANS PT 1 0))

(COMMAND "UCS" "W")

(SETQ LTH (SSLENGTH SS))

(SETQ DEM 0)

(WHILE (< DEM LTH)

(PROGN

(SETQ DS (ENTGET (SSNAME SS DEM)))

(SETQ KDL (CDR (ASSOC 0 DS)))

(IF (= "DIMENSION" KDL)

(PROGN

(SETQ PT10 (CDR (ASSOC 10 DS)))

(SETQ PT11 (CDR (ASSOC 11 DS)))

(SETQ PT13 (CDR (ASSOC 13 DS)))

(SETQ PT14 (CDR (ASSOC 14 DS)))

(SETQ N70 (CDR (ASSOC 70 DS)))

(IF (OR (= N70 32) (= N70 33) (= N70 160) (= N70 161))

(PROGN

(SETQ GOCY (ANGLE PT10 PT14))

(SETQ GOCX (+ GOCY (/ PI 2)))

)

)

(SETVAR "OSMODE" 0)

(SETQ PTI (POLAR PT GOCX 2))

(SETQ PT13I (POLAR PT13 GOCY 2))

(SETQ PT14I (POLAR PT14 GOCY 2))

(SETQ PT13N (INTERS PT PTI PT13 PT13I NIL))

(SETQ PT14N (INTERS PT PTI PT14 PT14I NIL))

(SETQ O13 (ASSOC 13 DS))

(SETQ O14 (ASSOC 14 DS))

(SETQ N13 (CONS 13 PT13N))

(SETQ N14 (CONS 14 PT14N))

(SETQ DS (SUBST N13 O13 DS))

(SETQ DS (SUBST N14 O14 DS))

(ENTMOD DS)

)

)

(SETQ DEM (+ DEM 1))

)

)

(COMMAND "UCS" "P")

(SETVAR "CMDECHO" CMD)

(SETVAR "OSMODE" OSM)

(setq *error* OLDERR) ; Restore old *error* handler

(PRINC)

)

;============================================================================

 

(DEFUN C:MDIM (/ CMD SS LTH DEM PT DS KDL N70 GOCX GOCY PT13 PT14 PTI

PT10 PT10I PT10N O10 N10 PT11 PT11N O11 N11 KC OSM OLDERR)

(SETQ CMD (GETVAR "CMDECHO"))

(SETQ OSM (GETVAR "OSMODE"))

(SETQ OLDERR *error*

*error* myerror)

(PRINC "Chon duong do kich thuong :")

(SETQ SS (SSGET))

(SETVAR "CMDECHO" 0)

(SETQ PT (GETPOINT "Chon diem de chuyen vi tri dim den : "))

(SETQ PT (TRANS PT 1 0))

(COMMAND "UCS" "W")

(SETQ LTH (SSLENGTH SS))

(SETQ DEM 0)

(WHILE (< DEM LTH)

(PROGN

(SETQ DS (ENTGET (SSNAME SS DEM)))

(SETQ KDL (CDR (ASSOC 0 DS)))

(IF (= "DIMENSION" KDL)

(PROGN

(SETQ PT13 (CDR (ASSOC 13 DS)))

(SETQ PT14 (CDR (ASSOC 14 DS)))

(SETQ PT10 (CDR (ASSOC 10 DS)))

(SETQ PT11 (CDR (ASSOC 11 DS)))

(SETQ N70 (CDR (ASSOC 70 DS)))

(IF (OR (= N70 32) (= N70 33) (= N70 160) (= N70 161))

(PROGN

(SETQ GOCY (ANGLE PT10 PT14))

(SETQ GOCX (+ GOCY (/ PI 2)))

)

)

(SETVAR "OSMODE" 0)

(SETQ PTI (POLAR PT GOCX 2))

(SETQ PT10I (POLAR PT10 GOCY 2))

(SETQ PT10N (INTERS PT PTI PT10 PT10I NIL))

(SETQ KC (DISTANCE PT10 PT10N))

(SETQ O10 (ASSOC 10 DS))

(SETQ N10 (CONS 10 PT10N))

(SETQ DS (SUBST N10 O10 DS))

(SETQ PT11N (POLAR PT11 (ANGLE PT10 PT10N) KC))

(SETQ O11 (ASSOC 11 DS))

(SETQ N11 (CONS 11 PT11N))

(SETQ DS (SUBST N11 O11 DS))

(ENTMOD DS)

)

)

(SETQ DEM (+ DEM 1))

)

)

(COMMAND "UCS" "P")

(SETVAR "CMDECHO" CMD)

(SETVAR "OSMODE" OSM)

(setq *error* OLDERR)

(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

SAo không Bác nào trả lời vậy, các bác xem xét chút, mấy cái dim Annot nầy khi mang xuống CAD đời thấp thì nó ra anh Block của các Dim ứng với các tỉ lệ khác nhau, explode ra thì được mấy cái dim con, các bác nghiên cứu giúp , chứ không khi cần MDIM thì lại tắt chức năng ANNOT, rồi sang layout thì bật lại, làm thế này "lau" quá.

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 không Bác nào trả lời vậy, các bác xem xét chút, mấy cái dim Annot nầy khi mang xuống CAD đời thấp thì nó ra anh Block của các Dim ứng với các tỉ lệ khác nhau, explode ra thì được mấy cái dim con, các bác nghiên cứu giúp , chứ không khi cần MDIM thì lại tắt chức năng ANNOT, rồi sang layout thì bật lại, làm thế này "lau" quá.

Không chỉ Dim đâu mà tất cả những đối tượng dính dáng đến Annotative thì đều thế cả. Lisp không động vào cấu trúc bên cơ sở dữ liệu của đối tượng mà chỉ tác động được bên ngoài (như copy, move, trim...). Thế nên đôi khi muốn dùng lisp phải tắt chức năng Annotative đi. Mình đã ngâm cứu thử nhưng cũng chưa có giải pháp nào để khuất phục nó cả.

  • 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ông chỉ Dim đâu mà tất cả những đối tượng dính dáng đến Annotative thì đều thế cả. Lisp không động vào cấu trúc bên cơ sở dữ liệu của đối tượng mà chỉ tác động được bên ngoài (như copy, move, trim...). Thế nên đôi khi muốn dùng lisp phải tắt chức năng Annotative đi. Mình đã ngâm cứu thử nhưng cũng chưa có giải pháp nào để khuất phục nó cả.

 

Thế chắc em phải ............. dùng "tông khay" rồi, khổ qé khổ qé...........

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  

×