Đến nội dung


Hình ảnh
- - - - -

[yêu cầu] lisp scale dynamic block sao cho dim trong block cũng thay đổi theo


  • Please log in to reply
8 replies to this topic

#1 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 16 May 2014 - 04:56 PM

Mình có 2 dynamic block như file đính kèm

http://www.cadviet.c...ck_cot_thep.dwg

Đây là block ghi chú cốt thép sàn của mình

Mình có tạo thêm mấy attribute để có thể hiển thị chiều dài và số thanh thép bố trí (att trong lớp Defpoint, phía trên đầu hình tròn), như vậy sẽ rất tiện cho thống kê

tuy nhiên có 1 vấn đề đó là khi scale block thì các dim và các distance trong block đó không biến đổi theo, do đó sang tỉ lệ khác thì các att thống kê của mình sẽ bị sai và lại phải tạo 1 cái mới cho tỉ lệ đó, việc này tốn khá nhiều công sức. Đặc biệt phải đổi khung bản vẽ thì bản vẽ cũ của mình coi như vứt đi, không dùng được nữa, phải làm lại mới, đây là nhược điểm rất lớn khi làm block này

Do đó mình muốn nhờ các bạn viết hộ mình 1 lisp mà khi scale các dynamic block của mình thì các dim và các distance trong block cũng bị scale theo

Cám ơn các bạn rất nhiều


  • 0

#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 16 May 2014 - 05:18 PM

Mình có 2 dynamic block như file đính kèm

http://www.cadviet.c...ck_cot_thep.dwg

Đây là block ghi chú cốt thép sàn của mình

Mình có tạo thêm mấy attribute để có thể hiển thị chiều dài và số thanh thép bố trí (att trong lớp Defpoint, phía trên đầu hình tròn), như vậy sẽ rất tiện cho thống kê

tuy nhiên có 1 vấn đề đó là khi scale block thì các dim và các distance trong block đó không biến đổi theo, do đó sang tỉ lệ khác thì các att thống kê của mình sẽ bị sai và lại phải tạo 1 cái mới cho tỉ lệ đó, việc này tốn khá nhiều công sức. Đặc biệt phải đổi khung bản vẽ thì bản vẽ cũ của mình coi như vứt đi, không dùng được nữa, phải làm lại mới, đây là nhược điểm rất lớn khi làm block này

Do đó mình muốn nhờ các bạn viết hộ mình 1 lisp mà khi scale các dynamic block của mình thì các dim và các distance trong block cũng bị scale theo

Cám ơn các bạn rất nhiều

 

Bạn lạm dựng vô lisp nhiều nhỉ? ^_^

Tại sao không đưa thêm thêm hệ số tỉ lệ (scaleX hoặc scaleY) vô field luôn?


  • 1

#3 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 16 May 2014 - 10:54 PM

Trong mấy ngày gần đây thấy bạn chiếm lĩnh topic Autolisp hơi quá đáng.

Ai cũng có nhu cầu. Nhưng không phải ai cũng rảnh để phục vụ cho 1 người, bởi còn nhiều người khác cũng có những y/c khác.

Hãy vì cộng đồng nhé!


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#4 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 17 May 2014 - 12:54 AM

Bạn lạm dựng vô lisp nhiều nhỉ? ^_^

Tại sao không đưa thêm thêm hệ số tỉ lệ (scaleX hoặc scaleY) vô field luôn?

 

Ý của bạn rất hay nhưng chỉ áp dụng được với block không có dim thôi, còn block có dim thì ko dc, dim giữ nguyên chiều cao đó, ko thay đổi được


  • 0

#5 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 17 May 2014 - 12:59 AM

Trong mấy ngày gần đây thấy bạn chiếm lĩnh topic Autolisp hơi quá đáng.

Ai cũng có nhu cầu. Nhưng không phải ai cũng rảnh để phục vụ cho 1 người, bởi còn nhiều người khác cũng có những y/c khác.

Hãy vì cộng đồng nhé!

 

Điều này thì mình không đồng ý với bạn Ha lắm

Đúng là đầu tiên mình vì mục đích của mình, mình không phủ nhận điều đó nhưng ngoài ra cũng là vì cộng đồng đó chứ. Người nào chưa biết thì có thể học hỏi cách của mình, người nào biết rồi có thể thảo luận để nâng cao hiểu biết, giúp mọi người cùng tiến bộ, điều đó là rất tốt mà, đó không phải là mục đích của diễn đàn uh.

Thử hỏi ko ai hỏi, ko ai đưa ra ý kiến thì liệu mọi người có tiến bộ được không, diễn đàn còn tồn tại được không

Với lại mình biết ai cũng có công việc riêng, ai cũng bận cả, các bạn có kiến thức rộng về lập trình CAD, giúp mọi người là rất quí rồi, mình cũng chỉ muốn là khi nào rỗi các bạn xem xét giúp chứ có yêu cầu luôn gì đâu

và ai cũng có câu hỏi riêng, câu hỏi nào các bạn thấy được nhiều người quan tâm, có ích cho nhiều người thì các bạn giúp trước, còn lại giúp sau, có vấn đề gì đâu


Bài viết đã được chỉnh sửa nội dung bởi proconeng86: 17 May 2014 - 01:07 AM

  • 0

#6 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 17 May 2014 - 05:32 AM

Ý của bạn rất hay nhưng chỉ áp dụng được với block không có dim thôi, còn block có dim thì ko dc, dim giữ nguyên chiều cao đó, ko thay đổi được

Bạn sử dụng thử. Lệnh DTL

http://www.cadviet.c.../3/4652_dtl.zip


  • 1

#7 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 17 May 2014 - 08:45 AM

Bạn sử dụng thử. Lệnh DTL

http://www.cadviet.c.../3/4652_dtl.zip

 

Cám ơn bạn Tue_NV nhé. Lisp này làm dim trong block đổi được rồi nhưng còn mấy cái distance bên trong block thì chưa đổi được, bạn sửa lại chút cho mình nhé


  • 0

#8 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 17 May 2014 - 08:55 AM

Cám ơn bạn Tue_NV nhé. Lisp này làm dim trong block đổi được rồi nhưng còn mấy cái distance bên trong block thì chưa đổi được, bạn sửa lại chút cho mình nhé

 

Distance của block dynamic (các Linear parameter) thì nó nhận kích thước thật trên bản vẽ. Khi scale thì đã tự động đổi rồi bạn?

Hay ý khác của bạn? Vui lòng nói rõ...........


  • 0

#9 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 17 May 2014 - 09:38 AM

Distance của block dynamic (các Linear parameter) thì nó nhận kích thước thật trên bản vẽ. Khi scale thì đã tự động đổi rồi bạn?

Hay ý khác của bạn? Vui lòng nói rõ...........

 

Ý mình đúng là Linear parameter đó, mình scale thấy nó có biến đổi theo đâu nhỉ.

Bạn để ý mấy cái att ở trên đầu vòng tròn, mình để ở layer Defpoint đó, cái đó là mình chèn field từ Linear parameter. nhưng khi mình scale nó không biến đổi theo mà


  • 0