Đến nội dung


Hình ảnh
* * * - - 8 Bình chọn

Viết lisp theo yêu cầu [phần 2]


  • Chủ đề bị khóa Chủ đề bị khóa
3783 replies to this topic

#3421 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 April 2011 - 11:37 AM

Mình cần 1 lisp có chức năng tuần tự như sau:

_ Detach all unloaded x-ref
_ Explode attribute to text (all blocks in drawing)
_Bind all remaining x-ref
_Purge (all)

Nhờ các pro viết lisp giúp mình với.

Để thực hiện các việc trên 1 cách hoàn hảo, chắc nhiều người khá đau đầu đó bạn
Trước tiên, để biến các ATT thành Text, bạn thử xài lệnh Burst xem sao
Ngoài ra, bạn thử lấy các lisp trong này xem có phù hợp không :
1

2
  • 0

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


#3422 latoidayvn

latoidayvn

    biết zoom

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

Đã gửi 28 April 2011 - 03:22 PM

các bạn có thể sửa cho mình đoạn lisp này để cho nó có thể chọn được 1 tập đuờng chứ ko fải chỉ chọn được 1 đường
Mình cũng đã cố gắng tìm hiểu nhưng mà chụi rồi ^^ mới có đọc về lisp có 1 ngày...
Mong các bạn giúp đỡ vì cái này mình đang cần!
Đây là đoạn lisp của bạn gia_bach


;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.c...451
(defun c:p2E(/ ent pt_lst ss); Polyline Vertex to Excel
(vl-load-com)
(defun poly-pts (pl / n p l)
(setq n (fix (vlax-curve-getEndParam pl)))
(or (vlax-curve-IsClosed pl) (setq n (1+ n)))
(while (setq p (vlax-curve-getPointAtParam pl (setq n (1- n))))
(setq l (cons p l)) ))

(if (setq ss (ssget "+.:S:E" (list (cons 0 "*POLYLINE"))))
(progn
(setq ent (ssname ss 0)
pt_lst (poly-pts ent))
(if (vlax-get-or-create-object "Excel.Application")
(WriteToExcel pt_lst))))
(princ))

(defun WriteToExcel (lst_data / col row x xlApp xlCells)
(setq xlApp (vlax-get-or-create-object "Excel.Application")
xlCells (vlax-get-property
(vlax-get-property
(vlax-get-property
(vlax-invoke-method
(vlax-get-property xlApp "Workbooks")
"Add")
"Sheets")
"Item" 1)
"Cells"))
(setq row 3)
(foreach pt lst_data
(setq col 3)
(foreach coor pt
(vlax-put-property xlCells 'Item row col coor)
(setq col (1+ col)))
(setq row (1+ row)) )
(vla-put-visible xlApp :vlax-true)
(mapcar
(function (lambda (x)
(vl-catch-all-apply
(function (lambda ()(if x (vlax-release-object x)))))))
(list xlCells xlApp))
(gc) (gc) )
  • 0

#3423 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 April 2011 - 03:42 PM

Bạn thử đọc 1 tháng là ra vấn đề ngay mà ^^
Mình đổi lằng ngoằng thế này, bạn dùng tạm 1 chút, để sau bác nào pro sẽ giúp bạn khoản append, cái này mình không rành lắm

(defun c:p2e()
(foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "*POLYLINE"))))))
(p2e_Func ent)
)
)

(defun p2E_Func( ent / pt_lst ss); Polyline Vertex to Excel
(vl-load-com)
(defun poly-pts (pl / n p l)
(setq n (fix (vlax-curve-getEndParam pl)))
(or (vlax-curve-IsClosed pl) (setq n (1+ n)))
(while (setq p (vlax-curve-getPointAtParam pl (setq n (1- n))))
(setq l (cons p l)) ))

(if ent
(progn
(setq pt_lst (poly-pts ent))
(if (vlax-get-or-create-object "Excel.Application")
(WriteToExcel pt_lst))))
(princ))

(defun WriteToExcel (lst_data / col row x *AplExcel* *excell-cells* *New-Book* *Books-Colection* *Sheet-Collection* *Sheet#1*)
(setq *AplExcel* (vlax-get-or-create-object "Excel.Application"))
(if (setq *New-Book* (vlax-get-property *AplExcel* "ActiveWorkbook"))
(setq *Books-Colection* (vlax-get-property *AplExcel* "Workbooks")
*Sheet-Collection* (vlax-get-property *New-Book* "Sheets")
*Sheet#1* (vlax-invoke-method *Sheet-Collection* "Add"))
(setq *Books-Colection* (vlax-get-property *AplExcel* "Workbooks")
*New-Book* (vlax-invoke-method *Books-Colection* "Add")
*Sheet-Collection* (vlax-get-property *New-Book* "Sheets")
*Sheet#1* (vlax-get-property *Sheet-Collection* "Item" 1)))
(setq *excell-cells* (vlax-get-property *Sheet#1* "Cells"))
(setq row 3)
(foreach pt lst_data
(setq col 3)
(foreach coor pt
(vlax-put-property *excell-cells* 'Item row col coor)
(setq col (1+ col)))
(setq row (1+ row)) )
(vla-put-visible *AplExcel* :vlax-true)
(mapcar
(function (lambda (x)
(vl-catch-all-apply
(function (lambda ()(if x (vlax-release-object x)))))))
(list *excell-cells* *AplExcel*))
(gc) (gc) )

  • 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


#3424 latoidayvn

latoidayvn

    biết zoom

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

Đã gửi 28 April 2011 - 07:33 PM

Mình đã down về nhưng mà vẫn ko làm được
Khi chọn 1 tập đường pline để xuất tọa độ thì khi ra exel nó chỉ hiện tọa độ của 1 đường thôi, mình cần là tọa độ và độ cao của tất cả các đường đã chọn
Bạn có thể xem xet lại được ko? cám ơn bạn trước
  • 0

#3425 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 April 2011 - 08:47 PM

Mình đã down về nhưng mà vẫn ko làm được
Khi chọn 1 tập đường pline để xuất tọa độ thì khi ra exel nó chỉ hiện tọa độ của 1 đường thôi, mình cần là tọa độ và độ cao của tất cả các đường đã chọn
Bạn có thể xem xet lại được ko? cám ơn bạn trước

Bạn không xem kỹ rồi. Cái mình làm ở trên là mỗi Pline sẽ ra 1 sheet, bạn kiểm tra lại nhé :) Mình cũng đã nói trước là mình k biết append, nên để mỗi Pline 1 sheet, ok ? ^^
  • 0

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


#3426 latoidayvn

latoidayvn

    biết zoom

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

Đã gửi 29 April 2011 - 08:02 AM

Bạn không xem kỹ rồi. Cái mình làm ở trên là mỗi Pline sẽ ra 1 sheet, bạn kiểm tra lại nhé :) Mình cũng đã nói trước là mình k biết append, nên để mỗi Pline 1 sheet, ok ? ^^

ohh mình đã xem lại roài, rất cám ơn bạn, cái này đúng là mình ko xem kỹ ^^
ra được thế này đã là tốt lắm roài, 1 lần nữa cám ơn bạn.
Còn nếu bạn muốn tìm hiểu để làm sao nó vào 1 sheet thì hình như cái lisp coorn nó làm được đấy. Mình đang mù tịt về mấy cái này, hi vọng mấy ngày nữa nó có ty sang sáng...
  • 0

#3427 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 29 April 2011 - 08:16 AM

Bạn không xem kỹ rồi. Cái mình làm ở trên là mỗi Pline sẽ ra 1 sheet, bạn kiểm tra lại nhé :) Mình cũng đã nói trước là mình k biết append, nên để mỗi Pline 1 sheet, ok ? ^^

Để nối list có thể dùng Append hay Cons cũng đuợc.
- Append : nối 2 list
(foreach pt (poly-pts ent)
(setq pt_lst (append pt_lst (list pt))) )

- Cons : thêm 1 p/tử vào vị trí đầu tiên của list
(foreach pt (poly-pts ent)
(setq pt_lst (cons pt pt_lst)) )


Update : Polyline Vertex to Excel
- Data đưa vào 1 sheet.
- T/hợp máy tính chưa cài Excel, lisp sẽ ghi ra file *.CSV.
(defun c:p2E(/ i ent pt_lst ss); Polyline Vertex to Excel
(vl-load-com)
(defun poly-pts (pl / n p l)
(setq n (fix (vlax-curve-getEndParam pl)))
(or (vlax-curve-IsClosed pl) (setq n (1+ n)))
(while (setq p (vlax-curve-getPointAtParam pl (setq n (1- n))))
(setq l (cons p l)) ))

(if (setq ss (ssget (list (cons 0 "*POLYLINE"))))
(progn
(repeat (setq i (sslength ss))
(setq ent (ssname ss (setq i (1- i))))
(foreach pt (poly-pts ent)
(setq pt_lst (append pt_lst (list pt))) ) )
(if (vlax-get-or-create-object "Excel.Application")
(WriteToExcel pt_lst)
(WriteToCSV pt_lst) )))
(princ))

(defun WriteToExcel (lst_data / col row x xlApp xlCells)
(setq xlApp (vlax-get-or-create-object "Excel.Application")
xlCells (vlax-get-property
(vlax-get-property
(vlax-get-property
(vlax-invoke-method
(vlax-get-property xlApp "Workbooks")
"Add")
"Sheets")
"Item" 1)
"Cells"))
(setq row 3)
(foreach pt lst_data
(setq col 3)
(foreach coor pt
(vlax-put-property xlCells 'Item row col coor)
(setq col (1+ col)))
(setq row (1+ row)) )
(vla-put-visible xlApp :vlax-true)
(mapcar
(function (lambda (x)
(vl-catch-all-apply (function (lambda ()(if x (vlax-release-object x)))))))
(list xlCells xlApp))
(gc) (gc) )

(defun WriteToCSV (lst_data / fl)
(if (setq fl (getfiled "Output File" "" "csv" 1))
(if (setq fl (open fl "w"))
(progn
(foreach pt lst_data
(write-line (strcat (rtos (car pt)) "," (rtos (cadr pt)) "," (rtos (caddr pt))) fl) )
(close fl) ) ) )
(princ))

  • 2

#3428 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 29 April 2011 - 08:51 AM

Để nối list có thể dùng Append hay Cons cũng đuợc.
- Append : nối 2 list
(foreach pt (poly-pts ent)
(setq pt_lst (append pt_lst (list pt))) )

- Cons : thêm 1 p/tử vào vị trí đầu tiên của list
(foreach pt (poly-pts ent)
(setq pt_lst (cons pt pt_lst)) )


Ô hay, bác nói e mới chợt tỉnh cơn mơ. Lúc đầu là em tư duy theo kiểu ghi 1 list ra sheet rồi, sau đó lại lấy list khác ghi nối vào (tăng row, append sheet),đâm ra húc vào tường, mà không nghĩ một cách đơn giản là nối ngay tất cả các list trong lisp rồi mới làm thao tác ghi 1 lần. Đúng là tối dạ quá mất thôi ^^
P/S : có nên cho 1 chút gì đó phân biệt giữa các Pline hok bác nhỉ ^^
  • 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


#3429 latoidayvn

latoidayvn

    biết zoom

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

Đã gửi 29 April 2011 - 10:16 AM

ohh cái này lại làm công việc mình giảm đi nhiều quá,^ ^ cám ơn bạn gia_bạch và bạn ketxu
  • 0

#3430 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 29 April 2011 - 10:21 AM

ohh cái này lại làm công việc mình giảm đi nhiều quá,^ ^ cám ơn bạn gia_bạch và bạn ketxu

Bạn nên thanks bác gia_bach để hiện thực hóa lời cảm ơn, có nút xanh bên dưới bài viết đó :)
  • 0

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


#3431 tranduyquang25111

tranduyquang25111

    biết vẽ ellipse

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

Đã gửi 29 April 2011 - 03:14 PM

Các cao nhân, cao thủ viết giúp em lisp có chức năng như này với ạ:

1. Chuyển toàn bộ font chữ của tất cả các style về cùng 1 font (cái này em tìm được lisp của bác Gia_Bach rồi), giờ em muốn chuyển toàn bộ chiều cao, width factor, và góc nghiêng về cùng 1 giá trị. Ví dụ: chiều cao là 2, chiều dày là 1, góc nghiêng là 0.
2. Chuyển toàn bộ chiều cao chữ, kiểu text của toàn bộ dim style về cùng một giá trị. Ví dụ: tất cả các dim style đều có chiều cao là 2, text style là dim.

Cảm ơn nhiều!

Đây là lisp của bác Gia_Bach (đã được 1 mem edit) dùng để chuyển toàn bộ font của text về font nhập từ clipboard:

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.c...?showtopic=8999
(defun C:LENH ()
(setq tbl (tblnext "STYLE" T)
FontName (getstring "\nNhap ten file FONT can thay the: "))
(while tbl
(command "-style"
(cdr (assoc 2 tbl))
FontName
""
""
""
""
""
)
(setq tbl (tblnext "STYLE"))
)
(princ)
)


  • 0

#3432 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 29 April 2011 - 03:43 PM

1.Bạn thích từ bản của bác gia_bach thì đây :
(defun C:LENH (/ FontName tH tW tO)
(command "undo" "be")
(setq oCmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq tbl (tblnext "STYLE" T)
FontName (getstring "\nT\U+00EAn Font :")
tH (getreal "\nChi\U+1EC1u cao Text :")
tW (getreal "\nWidth Factor :")
tO (getangle "\nG\U+00F3c :")
)
(while tbl
(command "-style"
(cdr (assoc 2 tbl))
FontName
tH
tW
tO
"N"
"N"
"N"
)
(setq tbl (tblnext "STYLE"))
)
(setvar "cmdecho" oCmd)
(command "undo" "en")
(princ)
)
2.Chờ các bác khác nghỉ lễ hè ^^
  • 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


#3433 tranduyquang25111

tranduyquang25111

    biết vẽ ellipse

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

Đã gửi 29 April 2011 - 03:50 PM

1.Bạn thích từ bản của bác gia_bach thì đây :

(defun C:LENH (/ FontName tH tW tO)
(command "undo" "be")
(setq oCmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq tbl (tblnext "STYLE" T)
FontName (getstring "\nT\U+00EAn Font :")
tH (getreal "\nChi\U+1EC1u cao Text :")
tW (getreal "\nWidth Factor :")
tO (getangle "\nG\U+00F3c :")
)
(while tbl
(command "-style"
(cdr (assoc 2 tbl))
FontName
tH
tW
tO
"N"
"N"
"N"
)
(setq tbl (tblnext "STYLE"))
)
(setvar "cmdecho" oCmd)
(command "undo" "en")
(princ)
)
2.Chờ các bác khác nghỉ lễ hè ^^

Chuẩn không cần chỉnh bạn ketxu à. Thanks bạn nhiều.
  • 0

#3434 ngocnam.cad

ngocnam.cad

    biết vẽ ellipse

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

Đã gửi 02 May 2011 - 11:30 PM

các bác giúp em sửa lại lisp này với ạ.đây là lisp mà bác thaistreetz viết cho em hồi năm ngoái để chỉnh sửa trắc ngang.có một nhược điểm nhỏ là lisp này ko thể chỉnh sửa các cao độ thiết kế và khoảng cách thiết kế được mà chỉ sửa được cao độ tự nhiên và khoảng cách lẻ.Các bác làm ơn giúp em chỉnh sao cho lisp có thể sửa được cả các cọc thiết kế và khoảng cách tk. em đã gửi kèm cả file ví dụ. Mong các bác giúp em, cám ơn các bác nhiều nhiều. Đây là file của em ạ.http://www.cadviet.com/upfiles/3/edtn.rar
  • 0

#3435 tranduyquang25111

tranduyquang25111

    biết vẽ ellipse

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

Đã gửi 03 May 2011 - 09:35 AM

Pro nào viết giúp em cái lisp hiệu chỉnh tất cả các dimstyle với ạ. Ví dụ như đưa tất cả chiều cao chữ dim về giống nhau, và bằng 2. Kiểu chữ dim là font arial. Kiểu mũi tên đặc, kích thước mũi tên là 1,8. Thank các bác nhiều ợ.
  • 0

#3436 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 03 May 2011 - 10:14 AM

Pro nào viết giúp em cái lisp hiệu chỉnh tất cả các dimstyle với ạ. Ví dụ như đưa tất cả chiều cao chữ dim về giống nhau, và bằng 2. Kiểu chữ dim là font arial. Kiểu mũi tên đặc, kích thước mũi tên là 1,8. Thank các bác nhiều ợ.

Bạn ợ!
Sao bạn không chọn đối tượng trước rồi sử dụng lệnh MO (Ctrol+1) để chỉnh 1 loạt luôn
Lạm dụng Lisp nhiều thì không nên đâu bạn ợ!
Bên cạnh đó, Có 1 lệnh hiệu chỉnh DIM rất hay là lệnh DIMOVERRIDE (tắt là DOV), bạn đã sử dụng thử chưa?
  • 0

#3437 tranduyquang25111

tranduyquang25111

    biết vẽ ellipse

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

Đã gửi 03 May 2011 - 10:46 AM

Bạn ợ!
Sao bạn không chọn đối tượng trước rồi sử dụng lệnh MO (Ctrol+1) để chỉnh 1 loạt luôn
Lạm dụng Lisp nhiều thì không nên đâu bạn ợ!
Bên cạnh đó, Có 1 lệnh hiệu chỉnh DIM rất hay là lệnh DIMOVERRIDE (tắt là DOV), bạn đã sử dụng thử chưa?

Dạ, lệnh MO thì áp dụng với tất cả các dim chọn, và sau khi chỉnh thì nó là chiều cao thực. Nhưng em có quá nhiều dimstyle, mỗi dimstyle có 1 scale riêng (tỷ l riêng), nên nó sẽ lấy chiều cao ban đầu, rồi scale lên bác Tue à. Ví dụ dim 1-1 thì text heigh là 2, dim 1-2 thì text heigh lại là 4. Em mà dùng lệnh MO thì cả dim 1 và 2 sẽ có cùng chiều cao.
Lệnh DOV thì em chưa biết dùng.

Em có tìm hiểu, thì em cần giá trị "dimtxt" của tất cả các dimstyle đều bằng nhau. Nhưng em không biết làm sao cả.
  • 0

#3438 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 03 May 2011 - 11:03 AM

Dạ, lệnh MO thì áp dụng với tất cả các dim chọn, và sau khi chỉnh thì nó là chiều cao thực. Nhưng em có quá nhiều dimstyle, mỗi dimstyle có 1 scale riêng (tỷ l riêng), nên nó sẽ lấy chiều cao ban đầu, rồi scale lên bác Tue à. Ví dụ dim 1-1 thì text heigh là 2, dim 1-2 thì text heigh lại là 4. Em mà dùng lệnh MO thì cả dim 1 và 2 sẽ có cùng chiều cao.
Lệnh DOV thì em chưa biết dùng.

Em có tìm hiểu, thì em cần giá trị "dimtxt" của tất cả các dimstyle đều bằng nhau. Nhưng em không biết làm sao cả.

Chào bạn tranduyquang25111
Khi Dim scale Overall khác nhau thì dùng lệnh MO thì cả dim 1 và 2 không thể có cùng chiều cao được. Giá trị của chiều cao trong Text height của Dim sẽ được nhân với hệ số Dim scale Overall này.
Tue_NV gửi file cho bạn xem :
http://www.cadviet.c...files/3/dim.dwg
Bạn thử đổi chiều cao Text height của Dim trong file mà Tue_NV gửi sẽ chứng minh điều mà mình đang nói
Còn nếu muốn đưa dim về có cùng chiều cao cũng không khó -> Chỉnh Dim scale Overall về 1 giá trị bằng nhau là được.
Lệnh DOV thì mình có viết một số bài trên diễn đàn rồi. Bạn chịu khó tìm đọc nhe
  • 0

#3439 ngocnam.cad

ngocnam.cad

    biết vẽ ellipse

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

Đã gửi 03 May 2011 - 11:10 AM

các bác giúp em sửa lại lisp này với ạ.đây là lisp mà bác thaistreetz viết cho em hồi năm ngoái để chỉnh sửa trắc ngang.có một nhược điểm nhỏ là lisp này ko thể chỉnh sửa các cao độ thiết kế và khoảng cách thiết kế được mà chỉ sửa được cao độ tự nhiên và khoảng cách lẻ.Các bác làm ơn giúp em chỉnh sao cho lisp có thể sửa được cả các cọc thiết kế và khoảng cách tk. em đã gửi kèm cả file ví dụ. Mong các bác giúp em, cám ơn các bác nhiều nhiều. Đây là file của em ạ.
http://www.cadviet.c...iles/3/edtn.rar

Các bác ơi . giúp em với ạ ! hic
  • 0

#3440 tranduyquang25111

tranduyquang25111

    biết vẽ ellipse

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

Đã gửi 03 May 2011 - 12:51 PM

Chào bạn tranduyquang25111
Khi Dim scale Overall khác nhau thì dùng lệnh MO thì cả dim 1 và 2 không thể có cùng chiều cao được. Giá trị của chiều cao trong Text height của Dim sẽ được nhân với hệ số Dim scale Overall này.
Tue_NV gửi file cho bạn xem :
http://www.cadviet.c...files/3/dim.dwg
Bạn thử đổi chiều cao Text height của Dim trong file mà Tue_NV gửi sẽ chứng minh điều mà mình đang nói
Còn nếu muốn đưa dim về có cùng chiều cao cũng không khó -> Chỉnh Dim scale Overall về 1 giá trị bằng nhau là được.
Lệnh DOV thì mình có viết một số bài trên diễn đàn rồi. Bạn chịu khó tìm đọc nhe

Đúng rồi bác Tue à. Do em hiểu biết ít. Dùng MO thì chỉnh được. Nhưng trong dim manager vẫn hiện thông số cũ. Khi đo kích thước mới, lại phải MO tiếp...

Mà nhân tiện bác Tue chỉnh cái lisp đánh số thứ tự bản vẽ của bác theo ý được không ợ. Lisp của bác em tải ở đây

http://www.cadviet.com/upfiles/dsbv_1.vlx


Lisp này xuất ra kết quả "Bản vẽ số: 1/n". Giờ bác chỉnh, khi xuất kết quả có thể tùy chọn 1 trong 2 kết quả:
1. "Bản vẽ số: 1/n" (như cũ)
2. "Bản vẽ số: 01/n" khi n<10 được không ợ (khi cần sẽ dùng)

Cảm ơn bác nhiều ợ!
  • 0