Đến nội dung


Hình ảnh

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


  • Please log in to reply
21 replies to this topic

#1 cd2k44

cd2k44

    Edu level: li5

  • Members
  • PipPipPipPipPipPipPip
  • 648 Bài viết
Điểm đánh giá: 121 (tàm tạm)

Đã gửi 16 April 2010 - 12:40 PM

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

#2 Phiphi-

Phiphi-

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 434 Bài viết
Điểm đánh giá: 175 (tàm tạm)

Đã gửi 16 April 2010 - 09:21 PM

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.
  • 0

#3 cd2k44

cd2k44

    Edu level: li5

  • Members
  • PipPipPipPipPipPipPip
  • 648 Bài viết
Điểm đánh giá: 121 (tàm tạm)

Đã gửi 17 April 2010 - 07:31 AM

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

#4 cd2k44

cd2k44

    Edu level: li5

  • Members
  • PipPipPipPipPipPipPip
  • 648 Bài viết
Điểm đánh giá: 121 (tàm tạm)

Đã gửi 25 April 2010 - 10:29 AM

Ý 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
  • 0

#5 duongthanh85

duongthanh85

    biết vẽ pline

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

Đã gửi 03 May 2010 - 08:03 PM

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.
  • 0
Dương Đình Thành


EDI.com.vn
Mobile : 0903.269.830
duongdinhthanh@edi.com.vn



Thiết kế thi công: Trạm biến áp, đường dây, cáp ngầm, hạ ngầm đường dây, điện tòa nhà, hệ điện thông minh ...

#6 duyngoc

duyngoc

    biết vẽ pline

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

Đã gửi 14 May 2010 - 04:58 PM

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!!!
  • 0

#7 VoHoan

VoHoan

    biết lệnh move

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

Đã gửi 28 April 2011 - 09:44 AM

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.
  • 0

#8 VoHoan

VoHoan

    biết lệnh move

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

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

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.
  • 0

#9 ketxu

ketxu

    Copier - Paster - Editor

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

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

Tại sao các bạn k in trực tiếp trên Model ^^
  • 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


#10 thuvuirieng

thuvuirieng

    biết pan

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

Đã gửi 28 April 2011 - 04:48 PM

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?
  • 0

#11 VoHoan

VoHoan

    biết lệnh move

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

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

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...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.
  • 0

#12 VoHoan

VoHoan

    biết lệnh move

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

Đã gửi 28 April 2011 - 05:52 PM

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.
  • 0

#13 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 April 2011 - 06:02 PM

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 ^^
  • 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


#14 VoHoan

VoHoan

    biết lệnh move

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

Đã gửi 28 April 2011 - 06:11 PM

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...g22j629i616ovbn
  • 0

#15 vumanhdung1987

vumanhdung1987

    biết pan

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

Đã gửi 30 November 2011 - 10:27 AM

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,
  • 0

#16 lamnguyen_heco

lamnguyen_heco

    Chưa sử dụng CAD

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

Đã gửi 14 April 2013 - 06:00 PM

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


  • 0

#17 KangKung

KangKung

    biết lệnh array

  • Members
  • PipPipPip
  • 189 Bài viết
Điểm đánh giá: 227 (khá)

Đã gửi 14 April 2013 - 07:23 PM

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.c...chon-ben-model/


  • 0

#18 hoangthaivecc

hoangthaivecc

    Chưa sử dụng CAD

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

Đã gửi 25 August 2013 - 10:04 PM

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.


  • 0

#19 hathaiyb

hathaiyb

    biết pan

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

Đã gửi 02 September 2013 - 02:35 PM

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)
  )


  • 1

#20 NguyenNgocSon

NguyenNgocSon

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 368 Bài viết
Điểm đánh giá: 39 (tàm tạm)

Đã gửi 04 November 2013 - 02:40 PM

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 ?


  • 0