Đến nội dung


Hình ảnh
- - - - -

nhờ các anh chị viết dùm em lisp chọn layer 0


  • Please log in to reply
18 replies to this topic

#1 thanhsitp

thanhsitp

    biết vẽ line

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

Đã gửi 20 September 2010 - 07:44 PM

Em là họa viên kiến trúc đang làm việc cho một công ty của Đức.Công việc của em là số hóa bản vẽ có nghĩa là khách hàng gửi cho em file Scan,em vẽ lại theo đúng kích thước,layer của công ty hoặc của khách hàng.File scan của em nằm ở layer 0,nên khi vẽ em thường xuyên phải di chuyển layer 0(file Scan) thì phải chọn file scan rất mất thời gian.Nên em mạo mụi nhờ các anh chị trong diễn đàn viết dùm em lisp chỉ cần đánh lệnh thì tấc cả các đối tượng nằm ở layer 0 sẽ được chọn để di chuyển(move).Em đang rất cần kính mong các anh chị giúp đỡ,em xin thành thật cảm ơn.
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 20 September 2010 - 10:25 PM

Bạn thử dùng cái này xem sao.Cần chọn tất cả các đối tượng của layer nào thì kick vào 1 đôi tượng thuộc layer đó.Cũng có thể đặt mặc định chọn layer 0,nhưng mình nghĩ nó không mang tính tổng quát ^^
(defun c:sla ()
(setq doituongdich (car (entsel "\nChon doi tuong")))
(setq layerdich (assoc 8 (entget doituongdich)))
(sssetfirst nil (ssget "_X" (list layerdich)))
(princ)
)

  • 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


#3 thanhsitp

thanhsitp

    biết vẽ line

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

Đã gửi 20 September 2010 - 10:40 PM

Em là họa viên kiến trúc đang làm việc cho một công ty của Đức.Công việc của em là số hóa bản vẽ có nghĩa là khách hàng gửi cho em file Scan,em vẽ lại theo đúng kích thước,layer của công ty hoặc của khách hàng.File scan của em nằm ở layer 0,nên khi vẽ em thường xuyên phải di chuyển layer 0(file Scan) thì phải chọn file scan rất mất thời gian.Nên em mạo mụi nhờ các anh chị trong diễn đàn viết dùm em lisp chỉ cần đánh lệnh thì tấc cả các đối tượng nằm ở layer 0 sẽ được chọn để di chuyển(move).Em đang rất cần kính mong các anh chị giúp đỡ,em xin thành thật cảm ơn.

cám ơn bạn,nhưng đây không phải lisp mình cần.trong bản vẽ của mình chỉ co file scan là ở layer o.nên mình chỉ muốn chọn nó để di chuyển tại vì trong bản vẽ mình phải di chuyển file scan rất nhiều mà mình ko muốn click chọn nó,vì file scan rất nặng nên mỗi lần chọn phải zoom lên rất lâu,có khi đứng máy,mong các bạn giúp đỡ.cám ơn các bạn nhiều.
  • 0

#4 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 September 2010 - 12:05 AM

(defun c:0 ()
(setq 0layer (ssget "_x" '((8 . "0"))));;
(sssetfirst nil 0layer)
(princ)
)
Vậy bạn dùng cái này nhé :(
Mình mới tập toẹ nên hiểu vấn đề hơi chậm ^^
  • 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


#5 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 September 2010 - 12:10 AM

Và theo mình hiểu thì bạn vẽ lại từ bản vẽ cứng,nên thưỡng xuyên phải zoom lên nhìn bản gốc để vẽ lại.Vậy theo mình tốt hơn bạn nên chia màn hình,1 cái bên trên là bản scan,cái bên dưới là phần bạn vẽ.Kết hợp với Ctrl 0 thì cũng thoải mái thao tác,mà lại không phải zoom đi pan lại
  • 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


#6 VUVUZELA

VUVUZELA

    biết lệnh chamfer

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

Đã gửi 21 September 2010 - 02:38 PM

Nếu có thể
Bạn gửi cái file SCAN đó lên diễn đàn được ko?
Mình sẽ ngâm cứu giúp bạn
Chắc chắn sẽ có những ý tưởng hay giúp bạn
  • 0

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong


#7 thanhsitp

thanhsitp

    biết vẽ line

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

Đã gửi 21 September 2010 - 06:38 PM

Nếu có thể
Bạn gửi cái file SCAN đó lên diễn đàn được ko?
Mình sẽ ngâm cứu giúp bạn
Chắc chắn sẽ có những ý tưởng hay giúp bạn

Mình up lên 1 vài bản vẽ,file scan,mong bạn và các anh,chị trên diễn đàn chỉ giáo cách vẽ đúng và nhanh nhất.
http://www.cadviet.c...in_chi_giao.rar
  • 0

#8 thanhsitp

thanhsitp

    biết vẽ line

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

Đã gửi 21 September 2010 - 06:44 PM

cám ơn bạn,nhưng đây không phải lisp mình cần.trong bản vẽ của mình chỉ co file scan là ở layer o.nên mình chỉ muốn chọn nó để di chuyển tại vì trong bản vẽ mình phải di chuyển file scan rất nhiều mà mình ko muốn click chọn nó,vì file scan rất nặng nên mỗi lần chọn phải zoom lên rất lâu,có khi đứng máy,mong các bạn giúp đỡ.cám ơn các bạn nhiều.

cám ơn bạn,mình chọn được layer 0 rồi (file scan).bạn làm ơn cho mình thêm chức năng move nữa nha,có nghĩa là khi đánh lệnh thì chọn file scan và cho ta move, khỏi phải mất công nhập lệnh move.
  • 0

#9 thanhsitp

thanhsitp

    biết vẽ line

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

Đã gửi 21 September 2010 - 06:49 PM

cách đó chậm lắm bạn ạ.mình insert file scan,sau đó align đúng kích thướt và vẽ đè lên file scan.
  • 0

#10 VUVUZELA

VUVUZELA

    biết lệnh chamfer

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

Đã gửi 21 September 2010 - 10:37 PM

Đây tặng chú em nè
Có j không hiểu cứ pm đại ka
:(

(defun c:mm (/)
(setvar "cmdecho" 0)
(setq ss (ssget "X"
'(
(-4 . " (0 . "IMAGE")
(8 . "0")
(-4 . "AND>")
)
)
)
(command "move" ss "")
(command "pause")
)

  • 0

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong


#11 thanhsitp

thanhsitp

    biết vẽ line

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

Đã gửi 21 September 2010 - 10:39 PM

chào bạn ,bạn zuzuzela giúp dùm mình nha
  • 0

#12 thanhsitp

thanhsitp

    biết vẽ line

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

Đã gửi 21 September 2010 - 10:49 PM

Đây tặng chú em nè
Có j không hiểu cứ pm đại ka
:(

(defun c:mm (/)
(setvar "cmdecho" 0)
(setq ss (ssget "X"
'(
(-4 . " (0 . "IMAGE")
(8 . "0")
(-4 . "AND>")
)
)
)
(command "move" ss "")
(command "pause")
)


ko được đại ca ơi,cứu em với nó báo ; error: bad point argument
  • 0

#13 VUVUZELA

VUVUZELA

    biết lệnh chamfer

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

Đã gửi 21 September 2010 - 10:56 PM

Sao kô đc chú
Cú pháp như sau
load file mm.lsp lên
Theo thứ tự thế này
1. Bấm lệnh mm
2. Click chuột trái chon điểm thứ 1 bắt đầu move
3. Click chuột trái chon điểm thứ 2 để move
Hết

Mà sao chú không xài thử thằng này
Biến IMAGE thành AutoCad cho dễ chỉnh sửa, nhẹ hều à
Link nè
http://teen.vno.vn/s...-thanh-file-cad
  • 0

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong


#14 thanhsitp

thanhsitp

    biết vẽ line

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

Đã gửi 21 September 2010 - 11:05 PM

Sao kô đc chú
Cú pháp như sau
load file mm.lsp lên
Theo thứ tự thế này
1. Bấm lệnh mm
2. Click chuột trái chon điểm thứ 1 bắt đầu move
3. Click chuột trái chon điểm thứ 2 để move
Hết

Mà sao chú không xài thử thằng này
Biến IMAGE thành AutoCad cho dễ chỉnh sửa, nhẹ hều à
Link nè
http://teen.vno.vn/s...-thanh-file-cad


ko đươc anh ơi,nó báo ; error: bad point argument.Biến IMAGE thành AutoCad cho dễ chỉnh sửa, nhẹ hều à là đều ko thể vì mình phải vẽ lại cho đúng kiến trúc và layer cho khàng.
  • 0

#15 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 September 2010 - 11:22 PM

(defun c:0()
(setq 0layer (ssget "_x" '((8 . "0"))));;
(sssetfirst nil 0layer)
(command "_move" "p" "")
)
Bạn thử xem sao nhé ^^
  • 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


#16 ssg

ssg

    biết lệnh adcenter

  • Vip
  • PipPipPipPipPipPipPip
  • 1228 Bài viết
Điểm đánh giá: 1087 (rất tốt)

Đã gửi 21 September 2010 - 11:37 PM

(defun c:0()
(setq 0layer (ssget "_x" '((8 . "0"))));;
(sssetfirst nil 0layer)
(command "_move" "p" "")
)
Bạn thử xem sao nhé ^^

Sao phải dài dòng vậy bạn? Code như sau có tác dụng tương đương:

(defun C:0() (command "move" (ssget "X" '(( 8 . "0"))) "" pause))

  • 3

#17 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 September 2010 - 11:44 PM

Hì..Ban đầu viết đoạn chọn layer0 như bạn thanhsitp yêu cầu,rồi sau có thêm yêu cầu move nữa,nên mình add thêm cái cmd move vào thôi,cũng chưa nghĩ đến cách tối giản code.
Ngay đoạn chọn đối tượng layer 0,mình đã nghĩ chỉ cần
(sssetfirst nil (ssget "_x" '((8 . "0")))) là đủ,nhưng vì mình mới bắt đầu học lsp nên nó cứ dễ bị nhầm khi coding,phải kiểm tra mấy lần mới chuẩn(),'",đành phải rườm rà chút cho chắc ^^.Nhưng với những người thành thạo,có lẽ sẽ đơn giản hơn rất nhiều.Dần dần mình sẽ cải thiện
Cám ơn bạn nhihều ^^.
  • 1

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


#18 VUVUZELA

VUVUZELA

    biết lệnh chamfer

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

Đã gửi 22 September 2010 - 01:32 PM

ko đươc anh ơi,nó báo ; error: bad point argument.Biến IMAGE thành AutoCad cho dễ chỉnh sửa, nhẹ hều à là đều ko thể vì mình phải vẽ lại cho đúng kiến trúc và layer cho khàng.


Trời
Bác nghiên cứu cái này chưa
Rất hay
này nhé, bác làm theo trình tự như thế này sẽ thấy cái ký diệu của nó
1. Bác dùng phần mềm convert file Image *.tif ra file dxf bác sẽ được 1 file Cad hoàn chỉnh
2. Mở file ra chon tất cả các đối tượng về cùng chung 1 GROUP (hay BLOCK thì ko tiện = group) thì tuỳ (tất nhiên là khi thao tác trong AutoCAD sẽ nhẹ nhàng vô cùng so với khi bác thao tác với Image bác chèn vào bản vẽ và move như yêu cầu của bác rất công)
3. Sử dụng lệnh Align chọn đối tượng đưa toàn bộ bản vẽ về 1 tỷ lệ chính xác đúng theo kích thưóc bạn vẽ
4. Từ đây bạn bắt đầu thao tác vẽ lại y như bản IMAGE ban đầu :
- Chèn block các ghế, bàn ăn, giường, toalet, bồn tắm nằm .... bằng cách insert và align vào đúng rất dễ dàng bằng cách bắt điểm chính xác (mà điều này khi thao tác với file image rất khó, tốn nhiều công đoạn)
- Ghi kích thước cũng dễ dàng khi có chế độ chon điểm chính xác
- Bạn vẽ lại tới đâu thì xoá đối tượng cũ cũng dễ và bạn sẽ biết được việc làm của mình tới đâu rồi, thiếu chỗ nào ....

Trên đây là suy nghĩ và quan điểm của mình
Bạn có thể thử và làm theo xem thử cách nào nhanh nhất và tốt nhất
Nếu không thì bạn có thể bỏ qua

Đay là file mình đã convert từ *.tiff qua *.dxf và chỉ cần lọc bỏ các LINE, POLYLINE có chiều dài nhỏ là OK
http://www.cadviet.c...iles/3/0421.rar
  • 1

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong


#19 thanhsitp

thanhsitp

    biết vẽ line

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

Đã gửi 22 September 2010 - 07:38 PM

Trời
Bác nghiên cứu cái này chưa
Rất hay
này nhé, bác làm theo trình tự như thế này sẽ thấy cái ký diệu của nó
1. Bác dùng phần mềm convert file Image *.tif ra file dxf bác sẽ được 1 file Cad hoàn chỉnh
2. Mở file ra chon tất cả các đối tượng về cùng chung 1 GROUP (hay BLOCK thì ko tiện = group) thì tuỳ (tất nhiên là khi thao tác trong AutoCAD sẽ nhẹ nhàng vô cùng so với khi bác thao tác với Image bác chèn vào bản vẽ và move như yêu cầu của bác rất công)
3. Sử dụng lệnh Align chọn đối tượng đưa toàn bộ bản vẽ về 1 tỷ lệ chính xác đúng theo kích thưóc bạn vẽ
4. Từ đây bạn bắt đầu thao tác vẽ lại y như bản IMAGE ban đầu :
- Chèn block các ghế, bàn ăn, giường, toalet, bồn tắm nằm .... bằng cách insert và align vào đúng rất dễ dàng bằng cách bắt điểm chính xác (mà điều này khi thao tác với file image rất khó, tốn nhiều công đoạn)
- Ghi kích thước cũng dễ dàng khi có chế độ chon điểm chính xác
- Bạn vẽ lại tới đâu thì xoá đối tượng cũ cũng dễ và bạn sẽ biết được việc làm của mình tới đâu rồi, thiếu chỗ nào ....

Trên đây là suy nghĩ và quan điểm của mình
Bạn có thể thử và làm theo xem thử cách nào nhanh nhất và tốt nhất
Nếu không thì bạn có thể bỏ qua

Đay là file mình đã convert từ *.tiff qua *.dxf và chỉ cần lọc bỏ các LINE, POLYLINE có chiều dài nhỏ là OK
http://www.cadviet.c...iles/3/0421.rar

cám ơn bạn,nhưng cách của bạn là ko thể,nó còn chậm hơn cách của mình nhiều,cty mình ko ai làm cách của bạn cả.bản vẽ của mình được tính bằng giờ,file 0421 mình chỉ cần 2 giờ là vẽ xong đúng layer,kích thướt,kiến trúc...chỉ cần 2 giờ là hoàn thiện tấc cả.nếu vẽ âm giờ nhiều quá,vẽ sai thì chẳng được tăng lương mà còn mất việc như chơi đấy bạn ạ.
  • 0