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

dùng lệnh Array cho một đường bất kỳ

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

Mình có một mô hình nhà giống nhau, mình muốn array (các đối tượng cách đều nhau) để tạo ra nhiều đối tượng giống nhau theo một đường bất kỳ (ví dụ như đường Spline ...), các bạn biết lệnh gì có thể làm được như thế không? Tức là các đối tượng tạo ra giống nhau và sẽ theo hướng của đường bất kỳ ấy (chứ không bó buộc array trong đường dọc, đường ngang, và đường tròn nữa). Cảm ơn các bạn nhiều.

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 mô hình nhà giống nhau, mình muốn array (các đối tượng cách đều nhau) để tạo ra nhiều đối tượng giống nhau theo một đường bất kỳ (ví dụ như đường Spline ...), các bạn biết lệnh gì có thể làm được như thế không? Tức là các đối tượng tạo ra giống nhau và sẽ theo hướng của đường bất kỳ ấy (chứ không bó buộc array trong đường dọc, đường ngang, và đường tròn nữa). Cảm ơn các bạn nhiều.

Bạn tìm kiếm Block chạy theo đường dẫn mình đã đọc được trên cadviet.

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 tạo Block từ căn nhà đã vẽ "ví dụ đặt tên là NHA".

Sau đó dùng lệnh Div để chia đường SPLine

DIV "enter"

Chọn đối tượng

Block "enter"

NHA "enter"

Y/N "enter"

Nhập số phần chia "enter"

  • 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

Bạn tạo Block từ căn nhà đã vẽ "ví dụ đặt tên là NHA".

Sau đó dùng lệnh Div để chia đường SPLine

DIV "enter"

Chọn đối tượng

Block "enter"

NHA "enter"

Y/N "enter"

Nhập số phần chia "enter"

 

thanks bạn,nhưng liệu có cách nào nhanh hơn ko bạn .

 

như bây giờ mình có 1 hình vuông trên 1 đoạn thẳng,mình muốn array hình vuông ấy thành 4 hình vuông có khoảng cách bằng nhau trên đoạn thẳng ấy ,thì làm ntn hả bạn,sr vì mình mới dùng cad

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ó 3 cách:

1. dùng lệnh divide (DIV) áp dụng cho pl,spl,line,arc.. cách này không quan tâm đến khoảng cách chia mà chỉ quan tâm đến số lượng Block cần chia.

2. dùng lệnh measure(ME) giống như trên nhưng nó quang tâm đến khoảng cách chia.

3.dùng lisp AC của cadviet :D (cái này có vẽ đáp ứng yêu cầu bạn đấy)

lúc xài hãy dùng lệnh UCS > E > nhấp vào đoạn thằng bạn muốn chia trên nó > rồi chọn điểm đầu và đích > số Block cần chia là ok

 

nội dụng lisp AC của các pro Cadviet đê:

 

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.c...6927
(defun c:ac (/ dt p1 p2 sl index kc goc)
 (init)
 (setq dt	(ssget)
p1	(getpoint "\nVao diem goc: ")
p2	(getpoint p1 "\nVao diem den: ")
sl	(getint "\nVao so lan: ")
goc   (angle p1 p2)
kc	(distance p1 p2)
index 0
 )
 (luuos)
 (setvar "osmode" 0)
 (repeat sl
(setq index (1+ index))
(command ".copy" dt "" p1 (polar p1 goc (* kc index)))
 )
 (traos)
 (done)
)
;;------------------------------------------------------------
(defun hoanh_newerror (msg)
 (if (and (/= msg "Function cancelled")
(/= msg "quit / exit abort")
 	)
(princ (strcat "\n" msg))
 )
 (done)
)
;;----------
(defun init ()
 (setq
HOANH_CMD	(getvar "CMDECHO")
HOANH_OLDERROR *error*
*error*	hoanh_newerror
 )
 (setvar "CMDECHO" 0)
 (command ".undo" "BE")
)
;;----------
(defun done ()
 (command ".redraw")
 (command ".undo" "E")
 (if HOANH_CMD
(setvar "CMDECHO" HOANH_CMD)
 )
 (if HOANH_OLDERROR
(setq *error* HOANH_OLDERROR)
 )
 (princ)
)
;;----------
(defun luuos ()
 (setq
HOANH_OSMODE   (getvar "OSMODE")
HOANH_AUTOSNAP (getvar "AUTOSNAP")
 )
)
(defun traos ()
 (if HOANH_OSMODE
(setvar "OSMODE" HOANH_OSMODE)
 )
 (if HOANH_AUTOSNAP
(setvar "AUTOSNAP" HOANH_AUTOSNAP)
 )
)

Chỉnh sửa theo ketxu
Bạn zoro107 chú ý cho Code vào thẻ Code
  • 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

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  

×