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.
cd2k44

Lisp tự động sắp xếp bản vẽ từ model sang khung in bên layout

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

cd2k44    121

Nhờ các cao thủ trên diễn đàn viết giùm em lisp dùng để sắp xếp bản vẽ từ bên model sang layout với khung in mình đã định sẳn. Như sắp xếp bình đồ vào khung in, sắp xếp trắc ngang vào khung in bên layout. Rất mong nhận được sự giúp đỡ của anh em trên diễn đà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
Phiphi-    175
Nhờ các cao thủ trên diễn đàn viết giùm em lisp dùng để sắp xếp bản vẽ từ bên model sang layout với khung in mình đã định sẳn. Như sắp xếp bình đồ vào khung in, sắp xếp trắc ngang vào khung in bên layout. Rất mong nhận được sự giúp đỡ của anh em trên diễn đàn

Lisp CHSPACE.lsp có sẳn trong Express.

Dùng chung một lệnh CHSPACE, khi làm việc thì phải luôn ở Paper Space.

Chuyển Objects từ Layout sang Model thì tự động nhưng khi muốn chuyển Objects từ Model sand Layout thì phải làm như sau:

+ Switch sang Paper Space.

+ Set khổ giấy.

+ Tạo 1 viewport.

+ Double click vào bên trong viewport để chuyển vào Model.

+ Lệnh CHSPACE rồi select objects.

+ Lisp chuyển các selected objects sang Paper Space.

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
cd2k44    121
Lisp CHSPACE.lsp có sẳn trong Express.

Dùng chung một lệnh CHSPACE, khi làm việc thì phải luôn ở Paper Space.

Chuyển Objects từ Layout sang Model thì tự động nhưng khi muốn chuyển Objects từ Model sand Layout thì phải làm như sau:

+ Switch sang Paper Space.

+ Set khổ giấy.

+ Tạo 1 viewport.

+ Double click vào bên trong viewport để chuyển vào Model.

+ Lệnh CHSPACE rồi select objects.

+ Lisp chuyển các selected objects sang Paper Space.

 

Ý của mình là bên model ban có một bình đồ tuyến dài vài Km, bây giờ bạn sẽ chuyển bình đồ đó vào khung in bên layout theo tỷ lệ đã mặc định. Bình đồ này dài vài KM nên làm bằng thủ công thì mất thời gian lắm, cứ copy từng khung in rồi lại chỉnh khung nhìn veiwport thì mất công vậy nên mình muốn nhờ các cao thủ cho mình xin lisp thực hiện viêc này tự động để tiết kiệm thời gian

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
cd2k44    121
Ý của mình là bên model ban có một bình đồ tuyến dài vài Km, bây giờ bạn sẽ chuyển bình đồ đó vào khung in bên layout theo tỷ lệ đã mặc định. Bình đồ này dài vài KM nên làm bằng thủ công thì mất thời gian lắm, cứ copy từng khung in rồi lại chỉnh khung nhìn veiwport thì mất công vậy nên mình muốn nhờ các cao thủ cho mình xin lisp thực hiện viêc này tự động để tiết kiệm thời gian

 

 

Không có bạn nào giúp mình ah

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
Không có bạn nào giúp mình ah

 

Mình làm việc với các bình đồ dài tầm 5Km nhưng cũng không vất vả tới mức như bạn mô tả.

Mình tạo các khung bên mobel ở 1 layer (Khung-khong-in), kèm theo là các text số thứ tự rất lớn (vẫn layer đó) và set để không in ra.

 

Bạn nhấn vào khung nhìn, đánh lệnh Z (zoom) và chọn Object thì rất nhanh. Mình làm việc với bình đồ đường 6 (từ Ba La tới Ngã tư sở) có chiều dài 10Km cũng chỉ tốn 10 phút cho việc dàn trang bên layout để in. Mất thêm 2 phút cho việc tạo file Inan để in hàng loạt (mình chỉ chọn 2 bản đầu, rồi dùng excel tạo tọa độ các khung sau).

 

Theo mình bạn xem lại cách dàn trang hay nói cách khác là cách sử dụng cad của bạn. Lisp không có ý nghĩa cho những việc này lắm đâ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
duyngoc    5
Mình làm việc với các bình đồ dài tầm 5Km nhưng cũng không vất vả tới mức như bạn mô tả.

Mình tạo các khung bên mobel ở 1 layer (Khung-khong-in), kèm theo là các text số thứ tự rất lớn (vẫn layer đó) và set để không in ra.

 

Bạn nhấn vào khung nhìn, đánh lệnh Z (zoom) và chọn Object thì rất nhanh. Mình làm việc với bình đồ đường 6 (từ Ba La tới Ngã tư sở) có chiều dài 10Km cũng chỉ tốn 10 phút cho việc dàn trang bên layout để in. Mất thêm 2 phút cho việc tạo file Inan để in hàng loạt (mình chỉ chọn 2 bản đầu, rồi dùng excel tạo tọa độ các khung sau).

 

Theo mình bạn xem lại cách dàn trang hay nói cách khác là cách sử dụng cad của bạn. Lisp không có ý nghĩa cho những việc này lắm đâu.

anh có thể nói tỷ mỷ hơn được không?em đọc và làm theo ma không được. thank!!!

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
VoHoan    8

Mình làm việc với các bình đồ dài tầm 5Km nhưng cũng không vất vả tới mức như bạn mô tả.

Mình tạo các khung bên mobel ở 1 layer (Khung-khong-in), kèm theo là các text số thứ tự rất lớn (vẫn layer đó) và set để không in ra.

 

Bạn nhấn vào khung nhìn, đánh lệnh Z (zoom) và chọn Object thì rất nhanh. Mình làm việc với bình đồ đường 6 (từ Ba La tới Ngã tư sở) có chiều dài 10Km cũng chỉ tốn 10 phút cho việc dàn trang bên layout để in. Mất thêm 2 phút cho việc tạo file Inan để in hàng loạt (mình chỉ chọn 2 bản đầu, rồi dùng excel tạo tọa độ các khung sau).

 

Theo mình bạn xem lại cách dàn trang hay nói cách khác là cách sử dụng cad của bạn. Lisp không có ý nghĩa cho những việc này lắm đâu.

Mình đang quan tâm đến chủ đề này mà lâu rồi không thấy ai reply lại cả. Mong các cao thủ xem lại trả lời tiếp nhé.

Cách của "duongthanh85" cũng hay nhưng vẫn thủ công vì các thao tác lặp đi lặp lại (gây nhàm chán), tại sao mình không viết 1 lisp làm cho nhanh để thời gian ngồi nhâm nhi trà nóng nhỉ?

Vướng mắc của mình là: viết đoạn code để chuyển từ khung nhìn này sang khung nhìn khác trong 1 layout. Khi làm được việc này thì việc tiếp theo là "ZOOM" các khung chứa trắc ngang bên model vào các khung nhìn bên layout thì không khó lắm. Xin các cao thủ chỉ giáo.

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
VoHoan    8

Mình đang quan tâm đến chủ đề này mà lâu rồi không thấy ai reply lại cả. Mong các cao thủ xem lại trả lời tiếp nhé.

Cách của "duongthanh85" cũng hay nhưng vẫn thủ công vì các thao tác lặp đi lặp lại (gây nhàm chán), tại sao mình không viết 1 lisp làm cho nhanh để thời gian ngồi nhâm nhi trà nóng nhỉ?

Vướng mắc của mình là: viết đoạn code để chuyển từ khung nhìn này sang khung nhìn khác trong 1 layout. Khi làm được việc này thì việc tiếp theo là "ZOOM" các khung chứa trắc ngang bên model vào các khung nhìn bên layout thì không khó lắm. Xin các cao thủ chỉ giáo.

Lên tiếng đi nào các cao thủ, nhanh không nghỉ 30/04 mất.

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
thuvuirieng    0

Mình làm việc với các bình đồ dài tầm 5Km nhưng cũng không vất vả tới mức như bạn mô tả.

Mình tạo các khung bên mobel ở 1 layer (Khung-khong-in), kèm theo là các text số thứ tự rất lớn (vẫn layer đó) và set để không in ra.

 

Bạn nhấn vào khung nhìn, đánh lệnh Z (zoom) và chọn Object thì rất nhanh. Mình làm việc với bình đồ đường 6 (từ Ba La tới Ngã tư sở) có chiều dài 10Km cũng chỉ tốn 10 phút cho việc dàn trang bên layout để in. Mất thêm 2 phút cho việc tạo file Inan để in hàng loạt (mình chỉ chọn 2 bản đầu, rồi dùng excel tạo tọa độ các khung sau).

 

Theo mình bạn xem lại cách dàn trang hay nói cách khác là cách sử dụng cad của bạn. Lisp không có ý nghĩa cho những việc này lắm đâu.

 

 

Vậy xin hỏi bác, nếu bình đồ dạng tuyến nhưng ngoằn ngèo không thẳng thì làm cách này như bác nói cũng rất lâu, vì qua layout phải dùng lệnh MVSETUP để xoay cho đỡ tốn giấy in.

Bạn giải quyết thế nào vấn đề này?

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
VoHoan    8

Tại sao các bạn k in trực tiếp trên Model ^^

Thông thường khi xuất trắc ngang trong nova theo dạng 1 cột (xuất thế vì còn mục đích sau này làm việc tiếp theo) nên việc in trong model sẽ mắt thời gian sắp xếp trắc ngang vào các khung tên (thông thường có 4 trắc ngang/1 khung tên), Việc này sẽ lâu hơn khi sắp xếp trong layout nếu làm được 1 lisp như mình mong muốn, mà lại không phải move trắc ngang làm thay đổi thứ tự ban đầu mà nova da xuất. Và còn nhiều vấn đề hạn chế nựa khi in trắc ngang trong model mà mình chưa nêu ra.

Bạn có thể tham khảo video sau để hiểu hơn ý tưởng của mình: http://www.mediafire.com/?g22j629i616ovbn

Vì bác "lecuong533" này bán ứng dụng này đắt quá (từ 3-5 triệu cơ!) nên KS nghèo như mình thì chỉ xem tham khảo thôi.

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
VoHoan    8

Vậy xin hỏi bác, nếu bình đồ dạng tuyến nhưng ngoằn ngèo không thẳng thì làm cách này như bác nói cũng rất lâu, vì qua layout phải dùng lệnh MVSETUP để xoay cho đỡ tốn giấy in.

Bạn giải quyết thế nào vấn đề này?

Với bình đồ ngoằn ngèo thì chỉ có thế làm như bạn là nhanh thôi, chứ cắt bình đồ trong model còn lâu hơ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
ketxu    2.649

Thông thường khi xuất trắc ngang trong nova theo dạng 1 cột (xuất thế vì còn mục đích sau này làm việc tiếp theo) nên việc in trong model sẽ mắt thời gian sắp xếp trắc ngang vào các khung tên (thông thường có 4 trắc ngang/1 khung tên), Việc này sẽ lâu hơn khi sắp xếp trong layout nếu làm được 1 lisp như mình mong muốn, mà lại không phải move trắc ngang làm thay đổi thứ tự ban đầu mà nova da xuất. Và còn nhiều vấn đề hạn chế nựa khi in trắc ngang trong model mà mình chưa nêu ra.

Việc này cũng không lâu hơn nếu viết được 1 lisp như mình mong muốn - trong model ^^

Có 1 điều mình đang thắc mắc là số lượng sheet sẽ lên đến bao nhiêu khi bạn muốn tận dụng chức năng publish ?

Tuy nhiên, do mình không thuộc chuyên ngành này nên cũng k hiểu đc cái khó của nó, nên nếu k có file ví dụ thì cũng chẳng biết lập luận của mình có đi đến đâu. Hy vọng sau cơ số lần reply, các bạn cho 1 cái ví dụ để dân ngoại đạo như mình cùng biết ^^

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
VoHoan    8

Việc này cũng không lâu hơn nếu viết được 1 lisp như mình mong muốn - trong model ^^

Có 1 điều mình đang thắc mắc là số lượng sheet sẽ lên đến bao nhiêu khi bạn muốn tận dụng chức năng publish ?

Tuy nhiên, do mình không thuộc chuyên ngành này nên cũng k hiểu đc cái khó của nó, nên nếu k có file ví dụ thì cũng chẳng biết lập luận của mình có đi đến đâu. Hy vọng sau cơ số lần reply, các bạn cho 1 cái ví dụ để dân ngoại đạo như mình cùng biết ^^

"Ketxu" xem qua video mình mới up lên sẽ hiểu ý tưởng của mình: http://www.mediafire.com/?g22j629i616ovbn

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

Nhờ các cao thủ trên diễn đàn viết giùm em lisp dùng để sắp xếp bản vẽ từ bên model sang layout với khung in mình đã định sẳn. Như sắp xếp bình đồ vào khung in, sắp xếp trắc ngang vào khung in bên layout. Rất mong nhận được sự giúp đỡ của anh em trên diễn đàn

cái này thành viên doanduyhung có, mình vẫn chưa biết được thông tin liên lạc để xin,

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
KangKung    229

các quan bác đã tranh luận cách đây gần 2 năm rồi mà bây giờ em vào xem vẫn chưa có câu trả lời khả thi nhất

Bạn đọc Topic này xem có giúp được gì không

http://www.cadviet.com/forum/topic/68723-yeu-cau-lisp-tao-viewport-tu-khung-chon-ben-model/

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ác cao thủ có ai viết được thì viết dùm em với.em thấy ý tưởng này rất hay.

1.có một đoạn tuyến khoảng vài km bên model,muốn chia khung in bên layout 

các yêu cầu chọn là khoảng chia lam bao nhiêu từ km...đến km...

khung viewpost rộng bao 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
hathaiyb    1

Mình thấy có cái này: 

(defun C:KVP( / os lst khung X_min Y_min X_max Y_max X index taphop tyle)

(command "layer" "m" "khung" "p" "n" "khung" "")
 (setvar "cmdecho" 0)

  (command "UNDO" "BE")
  (setq os(getvar "OSMODE"))
  (setvar "OSMODE" 0)
  (setq taphop(ssget ))
   (setq Tyle (getreal (strcat "\n Ty le 1/ <1000>: ")))
   (if (= Tyle nil) (setq Tyle 1000))
  (setq soluong (sslength taphop))
  (setq index 0)
  (command "LAYOUT" "N" "In")
  (command "LAYOUT" "S" "In")
  (command "ERASE" "ALL" "")
  (command "MODEL")
  (setq X 0)
  (command "ZOOM" "E")
  (while (< index soluong)
    (setq khung(ssname taphop index))
    (setq lst(acet-geom-vertex-list khung))
    (setq X_min 1000000000
      Y_min 1000000000
      X_max -1000000000
      Y_max -1000000000)
    (foreach a lst
      (if (< (car a) X_min) (setq X_min (car a)))
      (if (< (cadr a) Y_min) (setq Y_min (cadr a)))
      (if (> (car a) X_max) (setq X_max (car a)))
      (if (> (cadr a) Y_max) (setq Y_max (cadr a)))
      )
    (command "LAYOUT" "S" "In")
    (command "ZOOM" "W" (list X_min Y_min) (list X_max Y_max))
    (command "PLINE")
    (foreach a lst
      (command a))
    (command "C")
    (command "MOVE" (entlast) "" (list X_min Y_min) (list X 0))
    (command "ZOOM" "W" (list 0 0) (list (+ X 100) 0))
    (command "SCALE" (entlast) "" (list X 0) (/ 1000 tyle))
    (command "MVIEW" "O" (entlast))
    (command "MSPACE")
    (command "ZOOM" (list X_min Y_min) (list X_max Y_max))
    (command "PSPACE")
	(command "MVIEW" "L" "on" (entlast) "")
    (setq X(+ X 50 (/ (- X_max X_min) (/ tyle 1000))))
    (command "ZOOM" "W" (list 0 0) (list (+ X 100) 0))
    (setq index (+ index 1))
    )
  (command "MODEL")
  (command "UNDO" "END")
  (setvar "OSMODE" os)
  (princ)
  )

  • 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
DanKhaosat    14

Nhờ các bạn giúp mình sắp xếp thứ tự tập chọn các hình chữ nhật theo thứ tự từ trái qua phải và từ trên xuống dưới ?

Bạn chịu khó chon hình chữ nhật theo đúng thứ tự đó là được

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


×