Đến nội dung


Hình ảnh

Nhân bản đối tượng theo một đường


  • Please log in to reply
11 replies to this topic

#1 pikeman286

pikeman286

    biết dimdiameter

  • Members
  • PipPipPipPipPip
  • 337 Bài viết
Điểm đánh giá: 244 (khá)

Đã gửi 29 January 2008 - 12:47 PM

Cả nhà cho mình hỏi:Trong lệnh ARRAY nhập vào Angle of array thì hình cần array sẽ xoay theo hướng góc chọn.Nhưng không biết làm cách nào để một chuổi hình được xếp theo một đường như thế này không.Mình đã thử nhưng toàn bị lệch.Còn dùng copy như hình dưới thì hok nói làm gì
file như thế này
  • 0

#2 gp14

gp14

    DO TUAN GIAP

  • Moderator
  • PipPipPipPipPipPipPip
  • 1860 Bài viết
Điểm đánh giá: 1120 (rất tốt)

Đã gửi 29 January 2008 - 12:55 PM

Cả nhà cho mình hỏi:Trong lệnh ARRAY nhập vào Angle of array thì hình cần array sẽ xoay theo hướng góc chọn.Nhưng không biết làm cách nào để một chuổi hình được xếp theo một đường như thế này không.Mình đã thử nhưng toàn bị lệch.Còn dùng copy như hình dưới thì hok nói làm gì
file như thế này

Bạn upload lại file đi :) chưa hiểu ý bạn muốn gì cả?
  • 0

#3 pikeman286

pikeman286

    biết dimdiameter

  • Members
  • PipPipPipPipPip
  • 337 Bài viết
Điểm đánh giá: 244 (khá)

Đã gửi 29 January 2008 - 12:56 PM

Bạn upload lại file đi :) chưa hiểu ý bạn muốn gì cả?

Sorry,đoảng quá:
http://www.mediafire.com/?69flzudkfyg
  • 0

#4 gp14

gp14

    DO TUAN GIAP

  • Moderator
  • PipPipPipPipPipPipPip
  • 1860 Bài viết
Điểm đánh giá: 1120 (rất tốt)

Đã gửi 29 January 2008 - 01:08 PM

Sorry,đoảng quá:
http://www.mediafire.com/?69flzudkfyg

Cái này mình nghĩ nên dùng lệnh divide rồi chọn chức năng chèn block thì sẽ hợp lý hơn.
  • 0

#5 pikeman286

pikeman286

    biết dimdiameter

  • Members
  • PipPipPipPipPip
  • 337 Bài viết
Điểm đánh giá: 244 (khá)

Đã gửi 29 January 2008 - 01:16 PM

Cái này mình nghĩ nên dùng lệnh divide rồi chọn chức năng chèn block thì sẽ hợp lý hơn.

Hiện tại có một lisp làm chức năng trên nhưng không hiểu sao không chạy được.Các bác xem jum em cái.
(DEFUN newerr (ne)
(if (/= ne "function cancelled")
(princ (strcat "\nError:" ne))
)
(setvar "OSMODE" 0)
(setvar "CMDECHO" ce)
(setvar "BLIPMODE" bm)
(setq "error" olderr)
(princ)
)

(DEFUN C:BRICKCAP (/ sp ep ds an wd lg bs om ce bm nx nu p1 p2 p3 p4)
(setq olderr "error")
(setq "error" newerr)
(while
(= sp nil)
(setq sp (getpoint "\nStart of first brick:"))
)
(while
(= ep nil)
(setq ep (getpoint "\nFinish point:"))
)
(setq ds (distance sp ep))
(setq wd (getdist "\nPick or enter width of bricks <4.0>:"))
(if
(= wd nil)
(setq wd 4.0)
)
(setq lg (getdist "\nPick or enter length of bricks <8.0>:"))
(if
(= lg nil)
(setq lg 8.0)
)
(setq bs (getdist "\nPick or enter distance between brick <W + L / 20>:"))
(if
(= bs nil)
(setq bs (/ (+ wd lg) 20))
)
(setq om (getvar "OSMODE"))
(setvar "OSMODE" 0)
(setq ce (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(setq bm (getvar "BLIPMODE"))
(setvar "BLIPMODE" 0)
(setq nx (+ bs lg)
nu (/ ds nx)
p1 sp
p2 (polar p1 an lg)
p3 (polar p2 (+ an (/ pi 2)) wd)
p4 (polar p1 (+ an (/ pi 2)) wd)
)
(repeat (+ (fix nu) 1)
(command "LINE" p1 p2 p3 p4 "C")
(setq p1 (polar p1 an nx)
p2 (polar p2 an nx)
p3 (polar p3 an nx)
p4 (polar p4 an nx)
)
)
(setvar "OSMODE" om)
(setvar "CMDECHO" cm)
(setvar "BLIPMODE" bm)
(setq "error" olderr)
(princ)
)

  • 0

#6 pikeman286

pikeman286

    biết dimdiameter

  • Members
  • PipPipPipPipPip
  • 337 Bài viết
Điểm đánh giá: 244 (khá)

Đã gửi 29 January 2008 - 01:38 PM

Nếu không chỉnh sửa được thì mong bác nào cho em cái lisp tạo dãy như vậy đi.Cảm ơn các bác nhiều.
  • 0

#7 thoclep

thoclep

    biết lệnh offset

  • Members
  • PipPipPip
  • 170 Bài viết
Điểm đánh giá: 142 (tàm tạm)

Đã gửi 29 January 2008 - 03:02 PM

Cả nhà cho mình hỏi:Trong lệnh ARRAY nhập vào Angle of array thì hình cần array sẽ xoay theo hướng góc chọn.Nhưng không biết làm cách nào để một chuổi hình được xếp theo một đường như thế này không.Mình đã thử nhưng toàn bị lệch.Còn dùng copy như hình dưới thì hok nói làm gì
file như thế này

Mình đã thử bằng lệnh array và không hề thấy lệch. Còn nếu bạn biết được góc xoay, với khối lượng tạo không nhiều thì bạn có thể dùng lệnh rotate của cad07 với lựa chon copy
  • 0

#8 pikeman286

pikeman286

    biết dimdiameter

  • Members
  • PipPipPipPipPip
  • 337 Bài viết
Điểm đánh giá: 244 (khá)

Đã gửi 29 January 2008 - 03:08 PM

Mình đã thử bằng lệnh array và không hề thấy lệch. Còn nếu bạn biết được góc xoay, với khối lượng tạo không nhiều thì bạn có thể dùng lệnh rotate của cad07 với lựa chon copy

Cái quan trọng là vẫn lệch.Mong các bác test zùm em.Em vẫn dùng CAD 2007 mà.Và thêm một điều nữa là số lượng các hình rất nhiều,và theo nhiều chiều khác nhau.Cứ ngồi mà dò góc với copy chắc cũng đủ oải.Mà cái lisp kia thì em không sửa được,thế mới chuối.
  • 0

#9 zizouk4

zizouk4

    Chưa sử dụng CAD

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

Đã gửi 10 March 2008 - 10:57 PM

bạn tạo block đối tượng cần nhân bản rùi dùng lệnh measure là được đó.
  • 0

#10 vndesperados

vndesperados

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 547 Bài viết
Điểm đánh giá: 253 (khá)

Đã gửi 11 March 2008 - 08:51 AM

http://www.cadviet.c...nh-em-t652.html
  • 0

#11 bemove

bemove

    biết lệnh divide

  • Vip
  • PipPipPipPipPipPip
  • 446 Bài viết
Điểm đánh giá: 1308 (rất tốt)

Đã gửi 14 March 2008 - 02:02 AM

Cả nhà cho mình hỏi:Trong lệnh ARRAY nhập vào Angle of array thì hình cần array sẽ xoay theo hướng góc chọn.Nhưng không biết làm cách nào để một chuổi hình được xếp theo một đường như thế này không.Mình đã thử nhưng toàn bị lệch.Còn dùng copy như hình dưới thì hok nói làm gì
file như thế này


Bạn có thể dùng 2 lệnh measuredivide để chỉa một đường với lựa chọn BlockAlign block <Y>. Mesure khác divide ở chỗ: mesure chia đường theo khoảng cách các block còn divide chia đường theo số lượng block.
  • 0

#12 tranchan

tranchan

    biết lệnh break

  • Members
  • PipPipPipPip
  • 221 Bài viết
Điểm đánh giá: 93 (tàm tạm)

Đã gửi 14 March 2008 - 04:23 PM

Nếu không chỉnh sửa được thì mong bác nào cho em cái lisp tạo dãy như vậy đi.Cảm ơn các bác nhiều.



Về ý đồ này bác có thể xài copym ngay trong express của bản Cad. Nhưng lệch hay không là do bắt điêm đấy nhé. Copym mã nguôn mở bác có thế tham khảo để cải tiến.

vd: command: copym

Select objects:

Base point:
Second point or
[Repeat (last)/Divide/Measure/Array (dynamic)/Undo] <exit>: *Cancel*

chọn measure ...
  • 0