Chuyển đến nội dung
Diễn đàn CADViet
traichoi85

measure cho nhiều đối tượng

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

em vẽ quy hoạch. em muốn trồng cây nên dùng lệnh me. mà chừ me từng đường line rất mất thời gian. nên có bác nào biết cách me nhiều đối tượng cùng lúc được không. em có doc 1 cái có câu hỏi tương tự. mà không có ai trả lời. nên chừ em hỏi lại để có cao thủ nào hảo tâm chỉ giúp dùm hay viết dùm em 1 cái list. em rất 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

em vẽ quy hoạch. em muốn trồng cây nên dùng lệnh me. mà chừ me từng đường line rất mất thời gian. nên có bác nào biết cách me nhiều đối tượng cùng lúc được không. em có doc 1 cái có câu hỏi tương tự. mà không có ai trả lời. nên chừ em hỏi lại để có cao thủ nào hảo tâm chỉ giúp dùm hay viết dùm em 1 cái list. em rất cám ơn

Bạn dùng cái này xem:

(defun C:ME1( / ss cd i)

(prompt "\nChon cac doi tuong can MEASURE...")

(setq ss (ssget))

(setq cd (getreal "\nNhap chieu dai doan: "))

(setq i 0)

(repeat (sslength ss)

(command ".MEASURE" (ssname ss i) cd)

(setq i (1+ i)))

(prompt "\nDa MEASURE xong !")

(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ại sao bạn không block tất lại rồi measure :)

@DVH : đọc lisp của bạn xong, mình mới phân vân k biết mình và bạn hiểu ý chủ topic k ^^

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ái này là không phải rồi bạn ơi. mình muốn me 1 lần cho nhiều pline đó. thường là khi dùng lệnh me thi

1. nhập lệnh me

2. chọn đối tượng

3. bấm chữ B

4. nhập tên của block

5. chọn Y

6. chọn khoảng cách.

đó là cách thường. giờ mình hỏi ở bước 2 làm sao mình chọn nhiều đối tượng ( đường pline) đẻ rãi các đối tường cho nhanh. chứ mình làm từng đối tượng như thông thường thì lâu quá

mong các bạn giúp dùm

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ái này là không phải rồi bạn ơi. mình muốn me 1 lần cho nhiều pline đó. thường là khi dùng lệnh me thi

1. nhập lệnh me

2. chọn đối tượng

3. bấm chữ B

4. nhập tên của block

5. chọn Y

6. chọn khoảng cách.

đó là cách thường. giờ mình hỏi ở bước 2 làm sao mình chọn nhiều đối tượng ( đường pline) đẻ rãi các đối tường cho nhanh. chứ mình làm từng đối tượng như thông thường thì lâu quá

mong các bạn giúp dùm

Ngộ nhỉ! Lệnh ME1 của tôi chỉ có 3 bước: 1, 2, 6. Ở bước 2, bạn có thể chọn bao nhiêu đối tượng cũng được mà. Tôi không hiểu ý bạ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

cái này là không phải rồi bạn ơi. mình muốn me 1 lần cho nhiều pline đó. thường là khi dùng lệnh me thi

1. nhập lệnh me

2. chọn đối tượng

3. bấm chữ B

4. nhập tên của block

5. chọn Y

6. chọn khoảng cách.

đó là cách thường. giờ mình hỏi ở bước 2 làm sao mình chọn nhiều đối tượng ( đường pline) đẻ rãi các đối tường cho nhanh. chứ mình làm từng đối tượng như thông thường thì lâu quá

mong các bạn giúp dùm

Có phải bạn cần lisp này không?

(defun C:me2(/ i ss dis isalign blname isb en)
(setq i 0 ss (ssget))
(setq dis (getstring "\nSpecify length of segment <Block> : "))
(if (= (strcase dis) "B") 
	(progn
		(setq blname (getstring "\nEnter name of block to insert:"))
		(setq dis (getreal "\nSpecify length of segment : "))
		(initget "Yes No")
		(setq isalign (getkword "\nAlign block with object? [Yes/No] <Y>"))
		(if (not isalign) (setq isalign "Yes"))
		(setq isb T)
	)
	(progn
		(setq dis (atof dis))
		(setq isb nil)
	)
)
(repeat (sslength ss)
	(setq en (ssname ss i))
	(if isb
		(command "MEASURE" en "B" blname isalign dis)
		(command "MEASURE" en dis)
	)
	(setq i (1+ i))
)
(princ "\nhochoaivandot")
)

  • 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 rôi. cảm ơn bạn "hochoaivandot" nhiều nhiều. cái này tui tìm mấy năm rồi

Bạn hãy kích nút thank động viên bạn ấy kèm theo lời nói :)

Mình cũng góp cái lisp vừa nãy thảo, không đc chi tiết như bạn HHVD viết

(defun c:me3 ()
(setq blk (getstring "\nEnter name of block to insert:")
 isAlg (getstring "\nAlign block with object? [Y/N] <Y>")
 dis (getdist "\nSpecify length of segment : "))
(foreach x (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget))))
(command "measure" x "B" blk isAlg dis)	
)
)

  • Like 1
  • 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

Bạn hãy kích nút thank động viên bạn ấy kèm theo lời nói :)

Mình cũng góp cái lisp vừa nãy thảo, không đc chi tiết như bạn HHVD viết

(defun c:me3 ()
(setq blk (getstring "\nEnter name of block to insert:")
 isAlg (getstring "\nAlign block with object? [Y/N] <Y>")
 dis (getdist "\nSpecify length of segment : "))
(foreach x (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget))))
(command "measure" x "B" blk isAlg dis)	
)
)

À, ra thế!

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

×