Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
aries.1482

Nhờ các bác giúp đổi tên dimension style!

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

Mình có một số bản vẽ cad, trong mỗi bản vẽ này đều sử dụng 1 dimension style có tên giống nhau (đều đặt tên là abc chẳng hạn cho tất cả các file) nhưng có thuộc tính "fit->overall scale" khác nhau. Do yêu cầu công việc, mình muốn gộp tất cả vào thành 1 file bằng cách mở 1 file số 1, sau đó mở file số 2, dùng Ctrl+C và Ctrl+V cop từ file 2 dán sang file 1, cứ như vậy cho n file. Nhưng xảy ra hiện tượng các kích thước bị nhảy thành tỉ lệ theo file số 1 (do tên của dimesion style giống nhau). Mình giải quyết bằng cách đổi tên hết các dimension style cho từng file thành các tên khác nhau rồi cop thì đc. Nhưng vấn đề là số lượng file lớn, nếu đổi theo cách thủ công như trên thì rất mất thời gian mà mình lại k rành về lisp hay VBA. AE xem có cách nào giải quyết giúp mình k?
Cám ơn mọi người quan tâm!

Cái này mình đã hỏi bên Meslab nhưng chưa có câu trả lời, hi vọng là các cao thủ giúp mình.

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

 

Mình có một số bản vẽ cad, trong mỗi bản vẽ này đều sử dụng 1 dimension style có tên giống nhau (đều đặt tên là abc chẳng hạn cho tất cả các file) nhưng có thuộc tính "fit->overall scale" khác nhau. Do yêu cầu công việc, mình muốn gộp tất cả vào thành 1 file bằng cách mở 1 file số 1, sau đó mở file số 2, dùng Ctrl+C và Ctrl+V cop từ file 2 dán sang file 1, cứ như vậy cho n file. Nhưng xảy ra hiện tượng các kích thước bị nhảy thành tỉ lệ theo file số 1 (do tên của dimesion style giống nhau). Mình giải quyết bằng cách đổi tên hết các dimension style cho từng file thành các tên khác nhau rồi cop thì đc. Nhưng vấn đề là số lượng file lớn, nếu đổi theo cách thủ công như trên thì rất mất thời gian mà mình lại k rành về lisp hay VBA. AE xem có cách nào giải quyết giúp mình k?

Cám ơn mọi người quan tâm!

Cái này mình đã hỏi bên Meslab nhưng chưa có câu trả lời, hi vọng là các cao thủ giúp mình.

Similar topics from web:

Bác nào biết cách thống nhất kích thước text trong layout mode [Lưu ...

[Kinh dị] Halloween 720p Complete Collection

Trình bày bản vẽ trong autocad? [Lưu Trữ]

Thiên Thiên Tân | Facebook

kích thước trong layout [Lưu Trữ]

Trang chủ

HỌC THẾ NÀO | Facebook

Tổng Hợp Lý Thuyết Auto Cad

Lập trình java nâng cao « Võ Văn Hải\s blog

Office VBA, mỗi ngày một ví dụ.... [Archive]

Camera hành trình, máy rửa xe mini,bơm điện 12V, phụ kiện

[dis] Câu lạc bộ Visual Foxpro Hấp dẫn nhất từ trước đến nay ...

Topic chuyên về xin truyện (bản gốc, bản convert) | Túy Nguyệt Lâu

Đề thi HSG Tiếng Anh 9 cấp Thành phố-Hà Nội 3-2012

Nhờ các anh chị trong forums viết hộ em lisp sau.

Chào bạn. Dưới đây là 1 số lệnh lisp về Dimension style mong có thể giúp ích được bạn. Mình không rành về lisp lắm, nếu không giúp được nhiều cho bạn mong các cao thủ cadviet giúp đỡ bạn tận tình.

;-------------------Make Dimension Style-----------------
(defun c:MDS (/ scl fcal scal );dmasz dexo dexo dtxt dgap dclre dclrt dsn ao ad obj)
(vl-load-com)
(if scl scl (setq scl "1:20"))
(if #TS #TS (setq TS ""))
(setq scl (USTR "" "Specify Scale factor of Drawing" scl nil))
(setq fcal (atof (substr scl 1 1)))
(setq scal (atof (substr scl 3 3)))
(setq tyle (/ scal fcal))
(setq #TS (USTR "" "Enter Name of text Style" #TS nil))
(setvar "DIMALTF" 25)
(setvar "DIMALTTZ" 13)
(setvar "DIMALTZ" 13)
(setvar "DIMASZ" 2.5) ;Arrow size
(setvar "DIMCEN" 2.5) ;Center Mark size
(setvar "DIMDLE" 1) ;extend beyond tick
(setvar "DIMTOFL" 1);Dim Tolarance
(setvar "DIMDLI" 7) ;Base line spacing
(setvar "DIMEXE" 1) ;extend beyond dim line
(setvar "DIMEXO" 1) ;offset from origin
(setvar "DIMTMOVE" 1) ;
(setvar "DIMDEC" 0) ;phan lay thap phan
(setvar "DIMCLRT" 2) ;color text
(setvar "DIMTXT" 2.5);Text height
(setvar "DIMLFAC" 1) ;Primary Unit scale factor
(setvar "DIMSCALE" tyle);Scale Overall
(setvar "DIMTIX" 1) ;
(setvar "DIMTIH" 0)
(setvar "DIMTSZ" 0) ;closed filled
(setvar "DIMBLK" "") ;closed filled
(setvar "DIMGAP" 1) ;offset from dim line
(setvar "DIMTOH" 0)
(setvar "DIMTAD" 1) ;
(setvar "DIMTXSTY" #TS);Dim text style
(setvar "DIMTDEC" 0)
(setvar "DIMTZIN" 13)
(setvar "DIMZIN" 13)
;------
(setq dsn (strcat "TL" (substr scl 3 3)))
(setq ao (vlax-get-acad-object))
(setq ad (vla-get-ActiveDocument ao))
(setq obj (vla-add(vla-get-dimstyles ad) dsn))
(vla-copyfrom Obj ad)
(vla-put-activedimstyle ad Obj)
(princ)
);end
(Defun C:MTS(/ Name font);---Make Text Style
 (PROMPT "\n Make a new Text Style !")
 (if Font Font(setq Font "Vni-Helve-Consende"))
 (Setq Name (getstring 5"\nEnter Name of Text Style:")
       Font (getstring 5"\nEnter Full Font Name Text Style<Arial,Vni-Helve-Condense,.VnAvantH...>"))
  (command "-Style" Name Font 0 1 0 "n" "n")
  (command "ZOOM" "a")
 (princ)
);The end
;=====================================================================================================
 ;;;==============================================================================================
;;;-----------Chuyen all cac Dimension ve Dimstyle hien hanh--------------
(defun DIM_ssget ( / ssl  nsset temp ed )
  (setq sset (ssget))
  (setq ssl (sslength sset)
        nsset (ssadd)
  )
  (print ssl)
  (princ "entities found. ") 
  (while (> ssl 0)
    (progn
      (setq temp (ssname sset (setq ssl (1- ssl))))
      (setq ed (entget temp))
      (if (= (DXF 0 ed) "DIMENSION") (ssadd temp nsset))
    )
  )
  (setq ssl (sslength nsset)
        sset nsset
  )
  (print ssl)
  (princ "DIMENSION entities found. ")
  (princ)
);defun DIM_ssget
(defun c:CDC() (command "DIM1" "UP"))
;------------------
(defun C:CDS()
(Princ "\nChuyen Dimstyle hien hanh !")
(Princ "\nChon dimension muon Dimstyle current...")
(command ".-dimstyle" "r" "" pause)nil
(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

Bạn cho code sau vào contents load lisp, mỗi lần mở file ra thì tên Dim sẽ được đổi thành Tên dim cũ_Fit Overall

Lúc nào dùng xong thì unload đi nhé

 

((lambda(/ doc)
	(vl-load-com)
	(vlax-for dim (vla-get-Dimstyles
				  (setq doc
					(vla-get-ActiveDocument
					  (vlax-get-acad-object))))					 
    (vla-put-activeDimstyle doc dim)
    (vla-put-name dim (strcat (vla-get-name dim) "_" (vl-princ-to-string (getvar 'DIMSCALE))))    
	)
  (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

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  

×