Đến nội dung


Hình ảnh
* * * - - 2 Bình chọn

[Yêu cầu lisp] Công cụ so sánh, kiểm tra 2 bản vẽ bằng mắt thường


  • Please log in to reply
148 replies to this topic

#101 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 10 July 2012 - 11:54 PM

Về các thứ này thì e thua hẳn các bác rồi, chỉ ngồi hóng thôi ạ ^^
Về thao tác với inactive document thì e chưa thử nhưng dump thì thấy cơ số đống method, properties :)
@ Bác Thái : :( chẳng hiểu các bạn trên CV quý e thế nào mà cứ kiện vì bị banned là lại nhè Inbox e ra mắng :(
  • 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


#102 NTD

NTD

    biết lệnh rotate

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

Đã gửi 11 July 2012 - 12:24 AM

Hic ! Em đến bao h mới thỏa mãn điều kiện để đc Free của bác Thai đây
Bác nào mà sau này quyết thương mại hóa ứng dụng này thì nhớ làm 1 cái About giới thiệu những người đã tham gia topic này và bỏ công viết và đóng góp ý tưởng , góp ý kiến cho đến khi hoàn thiện đi vô sử dụng nhá :D . Em còn 1 loạt các ý chưa nói ra , chỉ mong các bác viết nó thành sự thực để em còn bỏ tiền ra mua , nhớ sale off cho em nhé , 100% là đc rồi :D

Mừng cho khả năng nhân tài việt và buồn cho lĩnh vực mình đang lao vào ^^

Tại sao bác lại chỉ buồn mà ko nghĩ đến việc thương mại hóa lĩnh vực bác đang lao vào nhỉ , tiền cũng mang lại niềm vui cơ mà

Cá nhân em ủng hộ thương mại hóa các Lisp các chương trình thật sự có giá trị & hiếm gặp , những gì có tính đột phá , thay đổi vĩnh viễn nhiều cách làm cũ kém hiệu quả
Nếu bác Detailing quyết thương mại hóa cái bác đã viết và sẽ viết cho em trong mấy ngày tới trong phạm vi topic này thì em xin trả tiền bác trước để đc bác send vô mail của em bản chính thức thay vì trial , để em còn kiểm hàng thoải mái ko phải 10p tắt bật CAD nữa . Có như vậy thì em mới góp ý & đưa ra thêm ý tưởng rõ ràng hơn ===> bác sẽ viết đc cái em cần , 10 euro rẻ hơn antivirus chỉ dùng dc 1 năm , trong khi dùng suốt đời , tại sao ko nhỉ ? Nếu em yêu cầu nhiều ý tưỏng quá bác có thể tính tiền lại . Em biết bác làm ko phải vì tiền, bán đc cho em chứ chắc gì bán đc cho nhiều ng, Nhưng cứ cảm ơn bác suông để có đc cái mình cần em cũng thấy ngại mà sợ nhất là bác sẽ ko còn cùng chung cảm hứng để giúp em nữa
Có thể sẽ có nhiêu ng ở đây ném đá em là hâm khi nói vể tiền bản quyền trả cho ng viết khi mình yêu cầu trên 1 diễn đần toàn Free . Nhưng em muốn có đc cái em cần thật sự chất lượng cho công việc của em bằng con đường ngắn nhất , nếu bác nào hào phóng Free tiếp cho em thì em có ...phản đối đâu :D .
  • 0

#103 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 July 2012 - 12:26 AM

Mình đang lao vào thương mại hóa (...) bạn ạ
  • 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


#104 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 11 July 2012 - 12:53 AM

Hic ! Em đến bao h mới thỏa mãn điều kiện để đc Free của bác Thai đây
Bác nào mà sau này quyết thương mại hóa ứng dụng này thì nhớ làm 1 cái About giới thiệu những người đã tham gia topic này và bỏ công viết và đóng góp ý tưởng , góp ý kiến cho đến khi hoàn thiện đi vô sử dụng nhá :D . Em còn 1 loạt các ý chưa nói ra , chỉ mong các bác viết nó thành sự thực để em còn bỏ tiền ra mua , nhớ sale off cho em nhé , 100% là đc rồi :D


Tại sao bác lại chỉ buồn mà ko nghĩ đến việc thương mại hóa lĩnh vực bác đang lao vào nhỉ , tiền cũng mang lại niềm vui cơ mà

Cá nhân em ủng hộ thương mại hóa các Lisp các chương trình thật sự có giá trị & hiếm gặp , những gì có tính đột phá , thay đổi vĩnh viễn nhiều cách làm cũ kém hiệu quả
Nếu bác Detailing quyết thương mại hóa cái bác đã viết và sẽ viết cho em trong mấy ngày tới trong phạm vi topic này thì em xin trả tiền bác trước để đc bác send vô mail của em bản chính thức thay vì trial , để em còn kiểm hàng thoải mái ko phải 10p tắt bật CAD nữa . Có như vậy thì em mới góp ý & đưa ra thêm ý tưởng rõ ràng hơn ===> bác sẽ viết đc cái em cần , 10 euro rẻ hơn antivirus chỉ dùng dc 1 năm , trong khi dùng suốt đời , tại sao ko nhỉ ? Nếu em yêu cầu nhiều ý tưỏng quá bác có thể tính tiền lại . Em biết bác làm ko phải vì tiền, bán đc cho em chứ chắc gì bán đc cho nhiều ng, Nhưng cứ cảm ơn bác suông để có đc cái mình cần em cũng thấy ngại mà sợ nhất là bác sẽ ko còn cùng chung cảm hứng để giúp em nữa
Có thể sẽ có nhiêu ng ở đây ném đá em là hâm khi nói vể tiền bản quyền trả cho ng viết khi mình yêu cầu trên 1 diễn đần toàn Free . Nhưng em muốn có đc cái em cần thật sự chất lượng cho công việc của em bằng con đường ngắn nhất , nếu bác nào hào phóng Free tiếp cho em thì em có ...phản đối đâu :D .

Thanks bạn, thực sự thì mình cũng đã nhận và làm vài cái theo ý tưởng của mọi người rồi nên việc làm theo ý tưởng của bạn cũng ko có gì miễn là mình có thể làm dc.
Mình cũng có ý tặng bạn 1 bản ko trial để test cho đã tay nhưng sợ bạn test ra nhiều lỗi quá sửa ko kịp :D. Bạn dùng lệnh SYNCCODE rồi pm cho mình nha, sale off 100% cho bạn 1 bản đầu tiên :D
  • 1

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#105 NTD

NTD

    biết lệnh rotate

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

Đã gửi 11 July 2012 - 01:43 AM

- SYNCVIEWPORT ko chạy với Win 64 bác ơi 32 thì máy cty em chạy ngon rồi => cái này mình làm trên máy 64 bits mà sao ko chạy dc ta??? kỳ vậy
Về nhà em Load nhầm cái File đã down cũ , sory
- Khi dang chạy SYNCVIEWPORT - Relative Sync mà bấm sang Viewport khác để chọn Viewport master khác thì tự động chuyển về chế độ SYNCVIEWPORT - Absolute Sync , cái này dở , ko nên 1 chút nào => cái này để mình kiểm lại xem sao
Em phát hiện đúng điểm dỏ đó ko nhầm đâu , vừa test lai xong

Bác nghĩ về đề xuất mua bản quyền trả tiền trước của em như em đã viết đi ở post trước đi , Nếu bán thì cho em số tài khoản , Hòm thư của em : ktsngtuanduong@gmail.com hoặc max3dmagic@yahoo.com . Send vô liên tục các bản dùng hẳn edit sắp tới cho em em còn có cái ngồi test thử mấy cái em dang nghiên cứu và đang cần bác giúp , chứ trial mà chưa hoàn chỉnh thế này bực lắm . Nếu nói đến tiền mà làm bác phật ý thì bỏ qua cho nhé
  • 0

#106 NTD

NTD

    biết lệnh rotate

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

Đã gửi 11 July 2012 - 01:54 AM

Thanks bạn, thực sự thì mình cũng đã nhận và làm vài cái theo ý tưởng của mọi người rồi nên việc làm theo ý tưởng của bạn cũng ko có gì miễn là mình có thể làm dc.
Mình cũng có ý tặng bạn 1 bản ko trial để test cho đã tay nhưng sợ bạn test ra nhiều lỗi quá sửa ko kịp :D. Bạn dùng lệnh SYNCCODE rồi pm cho mình nha, sale off 100% cho bạn 1 bản đầu tiên :D


Đang sốt ruột muốn có ngay nên mải viết cái post trên thì bác đã Free cho em rồi , em bấm vô Like thay 10 euro vậy :D
SYNCCODE : cho em AMSU2345 , máy ỏ nhà , máy cty BB220918
Bác chuẩn bị tinh thần cùng làm hộ em... 1 điều khác thường nhưng rất thực tế đi :D , Sẽ có 1 phần trình bày cặn kẽ ý tưởng hơi kỳ quặc của em , mấy đứa ở cty bảo em nghĩ nhiều dở hơi :D . Nhưng có lẽ bác sẽ giúp em biết ai dở hơi :D
  • 0

#107 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 11 July 2012 - 08:24 AM

Thao tác với bản vẽ không hiện hành qua collection drawing thì chưa chắc dc đâu Ket ơi, Ket có thấy khi chạy nó hay chớp các cửa sổ liên tục ko? Do AutoCAD ko cho chạy Multithread nên muốn thao tác trên bản vẽ nào thì phải active nó lên mới send data vô được.

Mình không rõ Detailing đang nói về ngôn ngữ khác hay về lisp. nhưng nếu đang nói về lisp thì nhận định này sai rồi. từ bản vẽ hiện hành ta có thể can thiệp vào các bản vẽ khác đang mở mà hoàn toàn ko cần active nó. Trong code mình gửi cho bạn mình cũng thực hiện việc này thông qua đoạn code:
(vlax-for dwg (vla-get-documents (vlax-get-acad-object)) (vla-setvariable dwg "users1" ""))

Mặt khác, khi xem xét cấu trúc của 1 vla-object thì mình nhận thấy rằng bản thân nó đã quy định cho đối tượng thuộc document (file bản vẽ) nào. bạn có thể lấy ra document đang lưu giữ 1 đối tượng bằng hàm (vla-get-document vla-object). Việc chỉnh sửa 1 đối tượng thuộc bản vẽ không hiện hành thực hiện hoàn toàn bình thường y hệt như bạn thao tác trên bản vẽ hiện hành.

Có nhiều ý kiến cho rằng cad chỉ làm việc với active document. nhưng mình nghĩ là không fải như vậy. Bởi đối tượng vla gốc là chính chương trình cad đang mở cơ mà (vlax-get-acad-object)

Lisp thì là vậy. vba chắc chắn cũng tương tự. .Net thì mình chưa biết
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#108 ksor_phong

ksor_phong

    biết vẽ circle

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

Đã gửi 11 July 2012 - 09:17 AM

Anh phát hiện ra một điều là sau khi khởi động lần 2 công cụ của Tú thì lệnh zoom và pan bình thường, 1 lần ăn ngay (ko phải zoom, pan 2 lần mới tính 1 nữa), rất mượt mà, nhẹ nhàng.
Khi nào Tú vá víu gì thêm thì cho anh 1 bản nhé, anh thấy bản mới của em cơ bản là ổn rồi (anh đang dùng nó để làm việc), với nhu cầu của anh thì ko cần quá cầu kỳ, giờ làm sao cho nó auto chia đôi màn hình ra cho mình đỡ phải kéo tay, cố định luôn 1 bên thao tác, 1 bên tham chiếu và nếu có bổ xung được việc bật, tắt một con trỏ nhỏ (chỉ là dạng point) bên cửa sổ tham chiếu để khi mình rê chuột (chưa kích) bên này thì bên kia cũng rê theo thì càng dễ theo dõi, mục đích chính của công cụ này là theo dõi mà.
  • 0

#109 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 11 July 2012 - 09:25 AM

Mình không rõ Detailing đang nói về ngôn ngữ khác hay về lisp. nhưng nếu đang nói về lisp thì nhận định này sai rồi. từ bản vẽ hiện hành ta có thể can thiệp vào các bản vẽ khác đang mở mà hoàn toàn ko cần active nó. Trong code mình gửi cho bạn mình cũng thực hiện việc này thông qua đoạn code:
(vlax-for dwg (vla-get-documents (vlax-get-acad-object)) (vla-setvariable dwg "users1" ""))

Mặt khác, khi xem xét cấu trúc của 1 vla-object thì mình nhận thấy rằng bản thân nó đã quy định cho đối tượng thuộc document (file bản vẽ) nào. bạn có thể lấy ra document đang lưu giữ 1 đối tượng bằng hàm (vla-get-document vla-object). Việc chỉnh sửa 1 đối tượng thuộc bản vẽ không hiện hành thực hiện hoàn toàn bình thường y hệt như bạn thao tác trên bản vẽ hiện hành.

Có nhiều ý kiến cho rằng cad chỉ làm việc với active document. nhưng mình nghĩ là không fải như vậy. Bởi đối tượng vla gốc là chính chương trình cad đang mở cơ mà (vlax-get-acad-object)

Lisp thì là vậy. vba chắc chắn cũng tương tự. .Net thì mình chưa biết

Phải công nhận Ket nói đúng, bác Thaistreet là pro về reactor mà em từng biết. Trở lại câu hỏi của bác thì em chắc rằng .NET ko thể thao tác với inactive document, VBA thì e ko rõ vì chưa thử bao giờ nhưng thây toàn phải dùng ThisDrawing.... nên chắc cũng vậy.
Không biết lisp có vẽ trên bản vẽ inactive vài đối tượng dc ko? nếu rảnh bác giúp em làm cái này thử để em học hỏi thôi :D
thanks!
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#110 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 July 2012 - 09:47 AM

Không biết lisp có vẽ trên bản vẽ inactive vài đối tượng dc ko? nếu rảnh bác giúp em làm cái này thử để em học hỏi thôi :D

Ví dụ em vẽ đoạnthẳng vào 1 file mới (chưa active)

(vla-AddLine
(vla-get-modelspace (vla-add (vla-get-documents (vlax-get-acad-object))))
(vlax-3d-point '(0 0 0))
(vlax-3d-point '(1 1 0))
)

  • 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


#111 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 11 July 2012 - 09:51 AM

Phải công nhận Ket nói đúng, bác Thaistreet là pro về reactor mà em từng biết. Trở lại câu hỏi của bác thì em chắc rằng .NET ko thể thao tác với inactive document, VBA thì e ko rõ vì chưa thử bao giờ nhưng thây toàn phải dùng ThisDrawing.... nên chắc cũng vậy. Không biết lisp có vẽ trên bản vẽ inactive vài đối tượng dc ko? nếu rảnh bác giúp em làm cái này thử để em học hỏi thôi :D thanks!

Với method zoom thì document phải active mới được còn các method khác hoàn toàn có thể làm việc mà không cần active. Ví dụ mình có thể create object, setvariable ....
Nếu là VBA thì câu lệnh như sau: application.documents.item(ID).method
Trong đó ID là thứ tự của document
P/S: Trong VBA dùng Thisdrawing chính là application.activedocument
  • 1
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#112 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 11 July 2012 - 10:50 AM

SYNCCODE : cho em AMSU2345 , máy ỏ nhà , máy cty BB220918

Mình tặng bạn 1 bản dùng ở nhà trong inbox nhé, cái ở công ty bạn thì nói công ty ủng hộ mình vài bản nếu thấy cần nhe. Bạn chú ý load 1 lần đầu tiên thôi nhé, những lần sau nó sẽ tự load, khi nào ko cần tự load nữa thì dùng lệnh UnRegSyncView để gở ra
Thanks!

ps: Update link
Update thêm cái thanh chỉ trạng thái và master drawing, nó luôn nằm trên master drawing. cứ click vào cái nào click dc :D để thấy nó có thể làm dc gì
Fix lỗi trong lệnh SyncViewport
  • 1

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#113 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 11 July 2012 - 11:01 AM

Mình tặng bạn 1 bản dùng ở nhà trong inbox nhé, cái ở công ty bạn thì nói công ty ủng hộ mình vài bản nếu thấy cần nhe. Bạn chú ý load 1 lần đầu tiên thôi nhé, những lần sau nó sẽ tự load, khi nào ko cần tự load nữa thì dùng lệnh UnRegSyncView để gở ra Thanks! ps: Update link Update thêm cái thanh chỉ trạng thái và master drawing, nó luôn nằm trên master drawing. cứ click vào cái nào click dc :D để thấy nó có thể làm dc gì Fix lỗi trong lệnh SyncViewport

Ơ cái của Bác có sẵn khóa trong chương trình à. Phải tìm cách crack mới được. Tại lười cài cad 2012 để test
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#114 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 11 July 2012 - 11:05 AM

Ơ cái của Bác có sẵn khóa trong chương trình à. Phải tìm cách crack mới được. Tại lười cài cad 2012 để test

hehe, tính like bác 1 phát nhưng hết quota rồi, cái lock của em nó chỉ compare string thôi. bác cứ thử xem sao, Nhớ gửi lại cho em 1 bản sau khi đã XXX để em khoá kiểu khác 2 ta cùng luyện skill nhe :D
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#115 TRUNGNGAMY

TRUNGNGAMY

    biết lệnh block

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

Đã gửi 11 July 2012 - 11:17 AM

Mình không rõ Detailing đang nói về ngôn ngữ khác hay về lisp. nhưng nếu đang nói về lisp thì nhận định này sai rồi. từ bản vẽ hiện hành ta có thể can thiệp vào các bản vẽ khác đang mở mà hoàn toàn ko cần active nó. Trong code mình gửi cho bạn mình cũng thực hiện việc này thông qua đoạn code:
(vlax-for dwg (vla-get-documents (vlax-get-acad-object)) (vla-setvariable dwg "users1" ""))

Mặt khác, khi xem xét cấu trúc của 1 vla-object thì mình nhận thấy rằng bản thân nó đã quy định cho đối tượng thuộc document (file bản vẽ) nào. bạn có thể lấy ra document đang lưu giữ 1 đối tượng bằng hàm (vla-get-document vla-object). Việc chỉnh sửa 1 đối tượng thuộc bản vẽ không hiện hành thực hiện hoàn toàn bình thường y hệt như bạn thao tác trên bản vẽ hiện hành.

Có nhiều ý kiến cho rằng cad chỉ làm việc với active document. nhưng mình nghĩ là không fải như vậy. Bởi đối tượng vla gốc là chính chương trình cad đang mở cơ mà (vlax-get-acad-object)

Lisp thì là vậy. vba chắc chắn cũng tương tự. .Net thì mình chưa biết

Trong arx cũng có cái này, nó ở ví dụ mẫu : ...ObjectARX 2010\samples\database\testdb_dg
  • 0

#116 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 11 July 2012 - 12:37 PM

Ví dụ em vẽ đoạnthẳng vào 1 file mới (chưa active)


(vla-AddLine
(vla-get-modelspace (vla-add (vla-get-documents (vlax-get-acad-object))))
(vlax-3d-point '(0 0 0))
(vlax-3d-point '(1 1 0))
)

cái này Ket tạo drawing mới, tuy doc chưa hiện ra nhưng nó đã active trong bộ nhớ rồi. Còn theo ý tưởng của vlr-set-notification thì nó hoạt động được với các inactive document and (database) luôn
  • 1

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#117 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 July 2012 - 01:23 PM

Vậy thì ket k hiểu ý active của bác rồi ^^
Ket hiểu đơn giản là :

(vla-AddLine
(vla-get-modelspace (setq nd (vla-add (vla-get-documents (vlax-get-acad-object)))))
(vlax-3d-point '(0 0 0))
(vlax-3d-point '(1 1 0))
)
(setq act (vla-get-activedocument (vlax-get-acad-object)))
;act # nd

  • 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


#118 Detailing

Detailing

    biết lệnh imageclip

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

Đã gửi 11 July 2012 - 01:35 PM

Vậy thì ket k hiểu ý active của bác rồi ^^

Ket mở 2 bản vẽ new, run lệnh ở bản vẽ này mà bản vẽ kia add thêm 1 line là OK, run lần nữa add thêm 1 line nữa (ko tạo ra drawing mới)
  • 0

Ideas don't matter, execution does!

1908412_308002392716743_8165279281236341


#119 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 11 July 2012 - 01:53 PM

cái này Ket tạo drawing mới, tuy doc chưa hiện ra nhưng nó đã active trong bộ nhớ rồi. Còn theo ý tưởng của vlr-set-notification thì nó hoạt động được với các inactive document and (database) luôn

Detailing hiểu rất sâu về bản chất, đồng thời bạn cũng rất tinh ý. Nhận xét trên của bạn thực sự có giá trị với mình.

Mới đầu khi sử dụng (vlr-set-notification reactor 'all_documents) thì mình cứ ngỡ hàm này sẽ "copy" rector từ document hiện hành sang toàn bộ các bản vẽ đang mở còn lại. Chính vì thế để gỡ reactor ra khỏi các bản vẽ đó mình lại dùng (vlr-set-notification reactor 'active-document-only) rồi từ bản vẽ hiện hành mới gỡ nốt phần còn lại (vlr-remove reactor)

Từ nhận xét trên của bạn, mình dò ngược lại thì phát hiện ra sai lầm này. các bản vẽ inactive document không hề tồn tại reactor sau khi chạy (vlr-set-notification reactor 'all_documents) từ bản vẽ active document. hàm trên điều khiển các sự kiện của các bản vẽ inactive document từ chính bản vẽ active document luôn. Thật không ngờ! và như vậy hàm (vlr-set-notification reactor 'active-document-only) là thừa. đồng thời cũng cần cải tạo lại code thêm 1 chút nữa để tận dụng được sức mạnh của hàm này
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#120 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 11 July 2012 - 02:20 PM

Ket mở 2 bản vẽ new, run lệnh ở bản vẽ này mà bản vẽ kia add thêm 1 line là OK, run lần nữa add thêm 1 line nữa (ko tạo ra drawing mới)

Thế này fải không?
(vlax-for dwg (vla-get-documents (vlax-get-acad-object))
(vlax-invoke-method (vla-get-modelspace dwg) 'addline (vlax-3d-point '(0 0 0)) (vlax-3d-point '(1 1 0))))
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD