Đến nội dung


Hình ảnh
- - - - -

Lệnh insert block


  • Please log in to reply
24 replies to this topic

#1 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 16 May 2007 - 07:55 PM

[url="http://www.cadviet.com/upfiles/DII.zip"]http://www.cadviet.com/upfiles/DII.zip[/url]

Anh em load về rồi dùng thử, lệnh là DII hoặc II.
Anh em thử xem co hiệu quả không nhé.
Khi nào vợ nó ngủ thì mình sẽ viết thêm vài cái tặng anh em chơi. :s_dead:
  • -1

#2 vbao

vbao

    biết lệnh array

  • CADViet Team
  • PipPipPip
  • 184 Bài viết
Điểm đánh giá: 80 (tàm tạm)

Đã gửi 16 May 2007 - 08:41 PM

http://www.cadviet.com/upfiles/DII.zip

Anh em load về rồi dùng thử, lệnh là DII hoặc II.
Anh em thử xem co hiệu quả không nhé.
Khi nào vợ nó ngủ thì mình sẽ viết thêm vài cái tặng anh em chơi. :s_dead:


thanks vndesperados
  • 1

#3 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 16 May 2007 - 09:14 PM

Hay, sáng tạo!
vndesperados đã tạo ra 1 cặp lệnh. DII để insert một block chuẩn đầu tiên, sau đó dùng lệnh II để insert 1 block theo cấu hình như lệnh DII vừa rồi.
Ưu điểm:
- Giúp người dùng có một cặp lệnh để hạn chế phải nhập thông tin insert nhiều khối cùng 1 tính chất.
- Giao diện tiếng Việt.
Nhược:
- Mã nguồn đóng.

Thật ra thì không đến mức phức tạp như chương trình của vndesperados chúng ta cũng có thể có được 2 lệnh trên. Sử dụng luôn hộp thoại insert của AutoCAD để làm thao tác insert block chuẩn. Vẫn dùng 2 lệnh DII và II như chương trình của vndesperados.
Đoạn mã của chương trình đó như sau:
(defun c:dii ()
(command ".ddinsert" pause)
(if (/= "*" (substr (getvar "INSNAME") 1 1))
(setq tt (entget (entlast))
cv_blname (getvar "INSNAME")
cv_xscale (cdr (assoc 41 tt))
cv_yscale (cdr (assoc 42 tt))
cv_yscale (cdr (assoc 43 tt))
cv_rotate (cdr (assoc 50 tt))
)
(setq
cv_blname (substr (getvar "INSNAME") 2)
cv_xscale 1.0
cv_yscale 1.0
cv_yscale 1.0
cv_rotate 0.0
)
)
(princ)
)
(defun c:ii ()
(if (and cv_blname cv_xscale cv_yscale cv_rotate)
(command ".insert" cv_blname pause cv_xscale cv_yscale cv_rotate)
(princ "\nBan phai dung lenh dii truoc khi dung lenh ii")
)
(princ)
)

  • 0

#4 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 16 May 2007 - 10:52 PM

Hay, sáng tạo!
vndesperados đã tạo ra 1 cặp lệnh. DII để insert một block chuẩn đầu tiên, sau đó dùng lệnh II để insert 1 block theo cấu hình như lệnh DII vừa rồi.
Ưu điểm:
- Giúp người dùng có một cặp lệnh để hạn chế phải nhập thông tin insert nhiều khối cùng 1 tính chất.
- Giao diện tiếng Việt.
Nhược:
- Mã nguồn đóng.

Thật ra thì không đến mức phức tạp như chương trình của vndesperados chúng ta cũng có thể có được 2 lệnh trên. Sử dụng luôn hộp thoại insert của AutoCAD để làm thao tác insert block chuẩn. Vẫn dùng 2 lệnh DII và II như chương trình của vndesperados.
Đoạn mã của chương trình đó như sau:

(defun c:dii ()
(command ".ddinsert" pause)
(if (/= "*" (substr (getvar "INSNAME") 1 1))
(setq tt (entget (entlast))
cv_blname (getvar "INSNAME")
cv_xscale (cdr (assoc 41 tt))
cv_yscale (cdr (assoc 42 tt))
cv_yscale (cdr (assoc 43 tt))
cv_rotate (cdr (assoc 50 tt))
)
(setq
cv_blname (substr (getvar "INSNAME") 2)
cv_xscale 1.0
cv_yscale 1.0
cv_yscale 1.0
cv_rotate 0.0
)
)
(princ)
)
(defun c:ii ()
(if (and cv_blname cv_xscale cv_yscale cv_rotate)
(command ".insert" cv_blname pause cv_xscale cv_yscale cv_rotate)
(princ "\nBan phai dung lenh dii truoc khi dung lenh ii")
)
(princ)
)



Lâu lắm mới gặp "đối thủ" nặng ký như bác NguyenHoanh. Nói chơi thôi chứ chẳng có ý định ganh đua gì ở đây.
Cách của bác rất hay nhưng gặp trường hợp người dùng sử dụng lệnh DII rồi vẽ thêm vài cái Object bằng các lệnh khác nữa thì lệnh II của bác "nỏ làm gì được mô" (Xin lổi anh em vì nghe tiếng vợ nói mãi thành quen thế).
Còn mục đích của mình khi viết lệnh này là giữ lại thông tin của lần chèn Block cuối cùng, bạn có thể sử dụng bất kỳ lệnh gì trong ACAD rồi gọi lại DII hay II cũng được.
Anh em muốn dùng lệng DII hay II trước thì cũng được.
DXX = Dialog - XX command
Câu lệnh cho hai lệnh trước là
DME = Dialog Measure, DM=Measure
DDV = Dialog Divide, DV=Divide
Mọi người sẽ hỏi cần gì phải viết lại các lệnh này?
Câu trả lời: Các lệnh này sẽ giữ lại thông tin về lần sử dụng lệnh trước đó.
Mà thôi anh em cứ dùng qua thì sẽ thấy hiệu quả.
Còn nữa; mình không phải là dân dùng CAD nên chẳng có ý tưởng gì hay đâu. Anh em nào có ý tưởng gì thì Post lên đây cùng giải quyết nhưng mà đừng có lan man giống như cái "đọc ổ USB bằng LISP" ấy. Cái chuyện đó để HĐH nó làm. Còn mình thì tập trung giải quyết các vấn đề trong CAD thôi kẻo lung tung quá "dở thầy dở thợ" thì không giống ai...

Còn bây giờ vào với vợ một lát, khổ thế, tối nào không có mình xoa lưng là vợ nó ngủ không được.
"Ừ, em ơi! Anh xong rồi đây..."
  • 0

#5 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 16 May 2007 - 10:58 PM

Cách của bác rất hay nhưng gặp trường hợp người dùng sử dụng lệnh DII rồi vẽ thêm vài cái Object bằng các lệnh khác nữa thì lệnh II của bác "nỏ làm gì được mô" (Xin lổi anh em vì nghe tiếng vợ nói mãi thành quen thế).

Được mà!
vndesperados cứ thử đi, chạy rất tốt.

Không được thì sao gọi là lệnh II được.
  • 0

#6 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 16 May 2007 - 11:16 PM

Được mà!
vndesperados cứ thử đi, chạy rất tốt.

Không được thì sao gọi là lệnh II được.


Bác NguyenHoanh oi. Mình copy nguyên đọan code của bác xuống rồi load vào ACAD2005, chay thì được nhưng không đúng ý định.
Đọan code ấy không sai nhưng nó có thể không tương thích trên các phiên bản CAD khác nhau hay có thể khác một vài thông số của biến hệ thống ACAD.
Mình là develop chuyên nghiệp nên mục tiêu đầu tiên là phải thỏa mãn được người dùng chứ không thể đến khi chạy chương trình phát hiện lỗi thì giải thích này nọ với khách hàng....


"Ừ, mình ơi, anh vào ngay đây.." (khổ thế mà ... sướng thế)
  • 0

#7 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 16 May 2007 - 11:19 PM

Anh em nào trong forum này có online thì cùng nói chuyện nhé
vkcuong_23@yahoo.com
  • 0

#8 Bommak

Bommak

    biết vẽ line

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

Đã gửi 17 May 2007 - 08:50 AM

Ưu điểm:
- Giúp người dùng có một cặp lệnh để hạn chế phải nhập thông tin insert nhiều khối cùng 1 tính chất.
- Giao diện tiếng Việt.
Nhược:
- Mã nguồn đóng.

Em đồng ý với bác Hoành. Theo em những routine nào các bác có ý định thương mại hoá thì Compile là đương nhiên, còn những cái nào có thể chia sẻ cho anh em dùng thì các bác có thể open source được không ạ. Vì với những người đang bắt đầu học (như em chẳng hạn) thì nhờ các đoạn code của các bác mà bọn em có thể học thêm được rất nhiều.
Em xin cảm ơn các bác
  • 0

#9 be_chanh

be_chanh

    biết lệnh adcenter

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

Đã gửi 17 May 2007 - 09:03 AM

Theo mình thì vấn đề đóng mã hay mở mã cũng là chuyện bình thôi. Không nên đòi hởi người khác chia sẻ. Vì nhiều khi đó lại là bí quyết làm ăn của họ hoạc của công ty họ. Nếu họ cảm thấy chia sẻ được mình nghĩ họ sẽ chia sẻ thôi.
  • 0

t: 097.323.1199 | m: cudstk@gmail.com | w: http://www.aicollect.com


#10 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 17 May 2007 - 05:08 PM

Mình thích cách làm việc của người nước ngòai, trong cuộc họp có thể phát biểu, tranh luận thậm chí chỉ trích nhau gay gắt để cùng nhau thống nhất quan điểm làm việc, xong đâu đó rồi thì coi như không có gì nữa.
Còn ngừơi VN mình mà bất đồng quan điểm trong công việc thể nào cũng dẫn đến bất đồng trong quan hệ, thậm chí nhìn mặt nhau là thấy ghét.
  • 0

#11 admin

admin

    Administrator

  • Root Admin
  • PipPipPipPip
  • 280 Bài viết
Điểm đánh giá: 484 (tốt)

Đã gửi 17 May 2007 - 06:50 PM

Cả 2 nick Nguyen Hoanh và Vndesperados nên dừng cuộc tranh luận đi lệch chủ đề ở đây.
Chính tôi xóa toàn bộ bài viết vừa rồi. Những bài viết lạc chủ đề tương tự cũng sẽ bị xóa.

Cảm ơn!
Admin.
  • 0

#12 Bommak

Bommak

    biết vẽ line

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

Đã gửi 17 May 2007 - 10:48 PM

Theo mình thì vấn đề đóng mã hay mở mã cũng là chuyện bình thôi. Không nên đòi hởi người khác chia sẻ. Vì nhiều khi đó lại là bí quyết làm ăn của họ hoạc của công ty họ. Nếu họ cảm thấy chia sẻ được mình nghĩ họ sẽ chia sẻ thôi.


Nhất trí với bác. Từ lần sau sẽ em sẽ không nhắc đến chuyện Open/Close Source nữa. Mà đi công tác 1 ngày về hình như em đã bỏ lỡ cái gì đó "nóng hổi" trong topic này đúng không nhỉ...

Mong cả nhà luôn vui vẻ...
  • 0

#13 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 18 May 2007 - 05:11 PM

Tôi thấy hài lòng hơn với lệnh Insert chuẩn của Acad. Biến nào cần và không cần lưu lại cho lần Insert sau thì Autodesk đã cân nhắc khá kỹ. Dùng lệnh này thay cho Insert chuẩn chỉ làm mất thời gian thêm!
  • 0

#14 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 18 May 2007 - 05:49 PM

Tôi thấy hài lòng hơn với lệnh Insert chuẩn của Acad. Biến nào cần và không cần lưu lại cho lần Insert sau thì Autodesk đã cân nhắc khá kỹ. Dùng lệnh này thay cho Insert chuẩn chỉ làm mất thời gian thêm!


Đây là bài tóan thực tế. Trong quá trình làm việc người dùng có thể quên mất đã INSERT một block tên gì, hệ số scale theo X, Y, Z là bao nhiêu, góc quay là bao nhiêu mặc dù vừa thực hiện trước đó. Vậy nên tôi đưa ra chương trình này để giúp người dùng làm việc ấy. Có lẽ vì đầu óc ssg cao siêu quá nên bác ấy nhớ hết tất cả những gì mình đã thao tác hoặc là bác ấy tìm đâu đó trên bản vẽ rồi copy lại cũng OK..

"Mình thích cách làm việc của người nước ngoài hơn"
  • 0

#15 DaiBang

DaiBang

    Edu level: ao8

  • Advance Member
  • PipPip
  • 33 Bài viết
Điểm đánh giá: 23 (tàm tạm)

Đã gửi 19 May 2007 - 12:26 AM

Cũng không đúng lắm đâu vndesperados.

Nếu chỉ để insert lại một block nào đó với tên cũ, tỷ lệ cũ, độ nghiêng cũ, thì cần gì dùng lệnh insert. Hãy dùng lệnh copy! (dân kỹ thuật toàn thế thôi, không chỉ với block, mà với line, arc, circle,...). Lệnh copy trực quan hơn lệnh II nhiều chứ!

Không cần đục thêm 1 lỗ cửa cho mèo khi con mèo bé hơn con chó.
  • 0
Đừng làm những điều nhàm chán trừ phi bạn không còn cách nào khác. Hãy cải tiến nó!

#16 vndesperados

vndesperados

    biết lệnh xref

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

Đã gửi 19 May 2007 - 09:20 PM

Cũng không đúng lắm đâu vndesperados.

Nếu chỉ để insert lại một block nào đó với tên cũ, tỷ lệ cũ, độ nghiêng cũ, thì cần gì dùng lệnh insert. Hãy dùng lệnh copy! (dân kỹ thuật toàn thế thôi, không chỉ với block, mà với line, arc, circle,...). Lệnh copy trực quan hơn lệnh II nhiều chứ!

Không cần đục thêm 1 lỗ cửa cho mèo khi con mèo bé hơn con chó.



Bác này mà thao tác trên bản vẽ Quy Họach là bảo đảm tắt tiếng liền. Trên những bản vẽ kích cỡ tương đối thì còn nhìn thấy cái block bên cạnh để copy chứ trên bản vẽ quy họach mà tìm lại cái block vừa insert để copy thì có khi mất cả tiếng đồng hồ.

Ngày mai sẽ tặng các bác Quy họach một công cụ xài chơi.
  • 0

#17 DaiBang

DaiBang

    Edu level: ao8

  • Advance Member
  • PipPip
  • 33 Bài viết
Điểm đánh giá: 23 (tàm tạm)

Đã gửi 19 May 2007 - 09:37 PM

vndesperados nói chuyện đúng với dân quy hoạch này rồi.

Trước đây chưa có lisp của vndesperados, tìm lại cái block vừa vẽ mất để copy mất cả tiếng đồng hồ. Vì thế nên dân quy hoạch của Việt Nam lẫn thế giới vẽ môt bản vẽ quy hoạch mất mấy năm lận (do trong bản vẽ có đến cả nghìn block)? có lisp của vndesperados vẽ chắc mất 5 phút! Tôi nghĩ với lisp hay như vậy, bán ra thế giới được cả nghìn đô ấy chứ!

Đúng vndesperados number one trên thế giới rồi! Chúc mừng nhé!
  • 0
Đừng làm những điều nhàm chán trừ phi bạn không còn cách nào khác. Hãy cải tiến nó!

#18 be_chanh

be_chanh

    biết lệnh adcenter

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

Đã gửi 19 May 2007 - 11:21 PM

Phản hồi ý kiến của anh vndesperados. Theo em nghĩ thì không nên tranh luận quá gay gắt cũng như dùng những lời lẽ chưa được chắt lọc cho lắm. Mọi vấn đề hãy đề cật nhẹ nhằnh vì trong số thành viên cũng như đội ngũ ban quản trị của CADViet có rất nhiều "cao thủ" . Chúng ta nên kiêm tốn lắng nghe và trình bày chứ không nên đẩy câu chuyện đi quá xa, dẫn đến to tiếng trong nội bộ cadviet.

Còn vấn đề "cách làm việc của tây". Em thì ngĩ tây hay ta đều là con người. Đều có cái tôi, sĩ diện. Trong công việc cũng như trong cuộc sống nếu kg tôn trong đối phương thì làm sao đối phương tôi trọng mình.???
  • 0

t: 097.323.1199 | m: cudstk@gmail.com | w: http://www.aicollect.com


#19 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 19 May 2007 - 11:33 PM

Tôi luôn luôn có một ý kiến trong các cuộc tranh luận:" Ở đời phải biết mình là ai".
  • 0

#20 ktsChen

ktsChen

    biết vẽ rectang

  • Vip
  • PipPip
  • 87 Bài viết
Điểm đánh giá: 139 (tàm tạm)

Đã gửi 20 May 2007 - 12:01 AM

VẤN ĐỀ NÀY NÀY MÌNH CŨNG KHÔNG RÕ LẮM, AI CŨNG CÓ CÁI HAY VÀ CÁI KHÔNG HAY. RIÊNG VỚI vndesperados EM NGHĨ RẰNG NẾU ANH ĐÃ NGHIÊM TÚC TRONG CÔNG VIỆC VÀ RẤT CỞI MỞ TRONG DIỄN ĐÀN THÌ NÊN NGHIÊM TÚC TRONG CÁCH HÀNH SỬ VIẾT VĂN. EM NGHĨ NẾU ĐÃ LÀ VUI VẺ THÌ VUI VẺ HẾT MÌNH, NẾU NGHIÊM TÚC THÌ ĐỪNG NÊN THÊM MẤY CÂU MÀ THEO EM GỌI LÀ THỪA. NHƯNG RẤT CÁM ƠN ANH VÀ HOAN NGÊNH ANH ĐÉN VÀ THAM GIA VỚI BỌN EM. CẢM ƠN ANH THÊM 1 LẦN NỮA ...
  • 0

ok
you best
and
me bads !!!!!

Tôi:
Xuống địa ngục gặp quỉ satan .
Satan nói : Ngươi thừa đủ tư cách để lên thiên đàng vì ngươi là người tốt
.

Lên tới thiên đàng , gõ cửa
Thánh Peter nói rằng : Ngươi không đủ tư cách để sống ở đây vì tư tưởng của ngươi quá xấu xa
.

Tôi đành làm con MA vật vờ lướt WEB hic!!! và cuộc đời vô cùng nghĩa...
SATAN và GOD thèng nào là đứa giết tôi ???????

WWW.CADVIET.COM