Chuyển đến nội dung
Diễn đàn CADViet
phamngoctukts

Ch­ương trình Vẽ thép sàn và tạo bảng thống kê

Các bài được khuyến nghị

Tặng các bạn chương trình vẽ thép sàn và tạo bảng thống kê.

http://www.cadviet.com/upfiles/3/debug.rar

Chương trình rất hay. Tuy nhiên, còn quá nhiều vấn đề để giải quyết

Tham khảo : Bài viết số 23

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chương trình rất hay. Tuy nhiên, còn quá nhiều vấn đề để giải quyết

Tham khảo : Bài viết số 23

Cám ơn bác đã quan tâm!

Đúng là chương trình còn rất nhiều vấn đề cần giải quyết. Nhưng chương trình này không đí theo hướng như của bạn Lĩnh. Chương trình của bạn Lĩnh quá phức tạp quá nhiều thao tác khi sử dụng. Chương trình này em xây dựng làm sao thuận tiận nhất cho người sử dụng. Thống kê và phân loại ngay lúc vẽ thì thì sẽ không phải nghĩ đến cái thuật toán tìm hình dạng thanh thép nữa.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cám ơn bác đã quan tâm!

Đúng là chương trình còn rất nhiều vấn đề cần giải quyết. Nhưng chương trình này không đí theo hướng như của bạn Lĩnh. Chương trình của bạn Lĩnh quá phức tạp quá nhiều thao tác khi sử dụng. Chương trình này em xây dựng làm sao thuận tiận nhất cho người sử dụng. Thống kê và phân loại ngay lúc vẽ thì thì sẽ không phải nghĩ đến cái thuật toán tìm hình dạng thanh thép nữa.

Đó cũng là 1 ý kiến hay. Tuy nhiên, việc thống kê thép phụ thuộc vào việc đánh số thứ tự cho thép. Mà việc đánh số thứ tự cho thép không những phụ thuộc vào việc tìm hình dạng thanh thép mà còn phụ thuộc vào đường kính và chiều dài của nó nữa. Như vậy, ngay lúc vẽ, thì chương trình chưa đánh số thứ tự 1 cách tự động cho thép được => Chưa thống kê tự động được. Chưa tính đến trường hợp mà User dùng lệnh Stretch để mà kéo dãn thanh thép theo ý của mình thì chương trình có đánh số thứ tự lại được không? Chiều dài rải thép thể hiện bằng việc pick 2 điểm là chưa là hợp lý và chưa thuận tiện cho người sử dụng.

 

Việc đánh số thứ tự và thống kê phụ thuộc vào cách nhìn tổng thể trong bản vẽ thép sàn và ý của bạn đã giải quyết 1 phần trong việc nhận dạng thanh thép thôi. Bạn xem kỹ cái video mà Tue_NV gửi sẽ rõ.

 

Mấy lời góp ý. Chúc bạn vui

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chucs cacs bacs ngayf 8-3 manhj khoer. he he

Ý tưởng của bác Tuệ e có hỏi mà hok được chỉ giáo ^^

@a Tú : tìm hết hướng đi r bắt tay vào việc a ạ ^^

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Đó cũng là 1 ý kiến hay. Tuy nhiên, việc thống kê thép phụ thuộc vào việc đánh số thứ tự cho thép. Mà việc đánh số thứ tự cho thép không những phụ thuộc vào việc tìm hình dạng thanh thép mà còn phụ thuộc vào đường kính và chiều dài của nó nữa. Như vậy, ngay lúc vẽ, thì chương trình chưa đánh số thứ tự 1 cách tự động cho thép được => Chưa thống kê tự động được. Chưa tính đến trường hợp mà User dùng lệnh Stretch để mà kéo dãn thanh thép theo ý của mình thì chương trình có đánh số thứ tự lại được không? Chiều dài rải thép thể hiện bằng việc pick 2 điểm là chưa là hợp lý và chưa thuận tiện cho người sử dụng.

Mấy lời góp ý. Chúc bạn vui

Em cứ nghĩ như thế là thuận tiện nhất rồi. Bác có cao kiến gì cho em xin được thỉnh giáo.

BS: Còn phần User muốn vẽ thép theo riêng thì Em nghĩ cách giải quyết như sau. Thường thì thép momen đặt theo 1/4 - 1/3 nhịp nên sẽ đưa thêm 1 lựa chọn trên form cho phép User chọn chiều dài thép momen = 1/x nhịp.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

@a Tú : tìm hết hướng đi r bắt tay vào việc a ạ ^^

Đã tìm thấy hướng đi. Gải quyết được các việc sau.

1. Ghi chú thép cùng loại cùng chiều dài.

2. update bảng thống kê khi chiều dài thanh thép thay đổi.

Còn vướng 1 chút về thống kê số lượng thanh khi chiều dài dải thép thay đổi.

Bắt tay vào việc thôi!!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Đã tìm thấy hướng đi. Gải quyết được các việc sau.

1. Ghi chú thép cùng loại cùng chiều dài.

2. update bảng thống kê khi chiều dài thanh thép thay đổi.

Còn vướng 1 chút về thống kê số lượng thanh khi chiều dài dải thép thay đổi.

Bắt tay vào việc thôi!!

 

Hy vọng bạn sẽ sớm ra phiên bản mới!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Dạo này mới thấy aH quay lại diễn đàn ^^ A ơi cho e hỏi Visual Studio 10 và VB.Net có quan hệ như thế nào ạ ^^

@a Tú : Go on...

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Dạo này mới thấy aH quay lại diễn đàn ^^ A ơi cho e hỏi Visual Studio 10 và VB.Net có quan hệ như thế nào ạ ^^

@a Tú : Go on...

Theo mình hiểu thì VB.NET là Visual Basic phát triển phần mềm trên nền tảng .Net FrameWork, tất cả các phiên bản về sau của Visual Basic (kể từ 2005) đều là VB.NET

Hiện nay ở Topic Chương trình Vẽ Thép và tự động thống kê thép VNStructureDetailing đang giới thiệu một phần mềm rất nổi bật, phát triển trên nền tảng .NET, đích thị là AutoCad.NET (nguồn là VB hay C thì ko rõ). Không biết nhóm phát triển phần mềm này có liên hệ gì với AutoCAD hay không, vì giao diện có vẻ rất giống với AutoCad Structural Detailing. Dù có liên hệ hay không thì họ cũng đang phát triển một phần mềm mang tính đột phá cao (he he, có khi hơn cả Dras, nhất là tính Pro thì khỏi nói).

 

Ở công ty cũng đang giao cho mình nhiệm vụ phát triển một bộ phần mềm như vậy, tuy nhiên vẫn theo cách thức của Dras. Vì công việc bận rộn nên tiến độ vẫn chậm chạp. Nhìn đà phát triển của VNStructuralDetailing mà nóng cả mặt

 

Bạn Tu đây cũng đang phát triển modul Sàn. Tuy nhiên mình đoán chắc vẫn còn có những vướng mắc khó giải quyết, hy vọng bạn sẽ tìm được hướng đi để mình còn... học theo :D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

@ a Hùng : e Tùng anh ơi ^^

VNStruc mà các bạn ấy đang phát triển đích thị là NET rồi, nhưng em thấy vẫn hơi rườm rà ^^ Nhưng chắc chắn sau này đây sẽ là 1 hình mẫu ^^

Modul sàn e đã hướng dùng block att kết hợp Dynamic thay vì dùng Xdata, có lẽ thời gian tới sẽ đi theo hướng này a H ạ

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Hy vọng bạn sẽ sớm ra phiên bản mới!

Chào Bác!

Em đã nghe ketxu giới thiệu nhiều về Bác.

Đúng là em đang gặp một số vấn đề trong chương trình.

Với cái method SetXdata trong VB.Net bị lỗi "invalid argument type in SetXdata method" em đã search nhiều trên net mà chưa thấy ai đưa ra được cách giải quyết vấn đề này. Rất mong được sự góp ý của anh em trên diễn đàn!!!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chào Bác!

Em đã nghe ketxu giới thiệu nhiều về Bác.

Đúng là em đang gặp một số vấn đề trong chương trình.

Với cái method SetXdata trong VB.Net bị lỗi "invalid argument type in SetXdata method" em đã search nhiều trên net mà chưa thấy ai đưa ra được cách giải quyết vấn đề này. Rất mong được sự góp ý của anh em trên diễn đàn!!!

Anh chưa có sử dụng cái XData này bao giờ :huh: . Anh chưa đọc kỹ lắm nhưng em xem thử bài viết này có giúp ích được gì không!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chương trình Thống kê thép sàn này Tue_NV đã làm hồi tháng 3 năm ngoái. Ngót cũng hơn 1 năm rồi. Mình viết bằng Lisp+Visualisp+DCL . Đến nay, đã xong rồi, rút ngắn thời gian rất đáng kể cho việc vẽ, sửa chữa thép, đánh số thứ tự, thống kê, tổng hợp, chỉ còn thêm thắt 1 vài lệnh nữa để vẽ cho nhanh thêm thôi. Vì nhiều lý do khác nhau, nên mình chưa thể upload file và chương trình lên đây được. Mong Ketxu và các bạn thông cảm.

 

@Bạn Tú : Chiều dài rải thép thể hiện bằng việc pick 2 điểm là chưa là hợp lý và chưa thuận tiện cho người sử dụng

-> như bạn đã thừa nhận Chiều dài rải thép là có thay đổi đấy thôi (Phần vì User không lường hết được trong bản vẽ cộng với các vấn đề phát sinh như sửa chữa bản vẽ....)

1 vấn đề nói ra thì quá đơn giản : Thống kê thép sàn nhưng nó hàm chứa quá nhiều vấn đề cần giải quyết.........

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chương trình Thống kê thép sàn này Tue_NV đã làm hồi tháng 3 năm ngoái. Ngót cũng hơn 1 năm rồi. Mình viết bằng Lisp+Visualisp+DCL . Đến nay, đã xong rồi, rút ngắn thời gian rất đáng kể cho việc vẽ, sửa chữa thép, đánh số thứ tự, thống kê, tổng hợp, chỉ còn thêm thắt 1 vài lệnh nữa để vẽ cho nhanh thêm thôi. Vì nhiều lý do khác nhau, nên mình chưa thể upload file và chương trình lên đây được. Mong Ketxu và các bạn thông cảm.

 

@Bạn Tú : Chiều dài rải thép thể hiện bằng việc pick 2 điểm là chưa là hợp lý và chưa thuận tiện cho người sử dụng

-> như bạn đã thừa nhận Chiều dài rải thép là có thay đổi đấy thôi (Phần vì User không lường hết được trong bản vẽ cộng với các vấn đề phát sinh như sửa chữa bản vẽ....)

1 vấn đề nói ra thì quá đơn giản : Thống kê thép sàn nhưng nó hàm chứa quá nhiều vấn đề cần giải quyết.........

 

Trờ ngại đáng kể có lẽ là lưu lại và hiển thị được vùng rát thép, không biết Tú đã có giải pháp gì chưa?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Trờ ngại đáng kể có lẽ là lưu lại và hiển thị được vùng rát thép, không biết Tú đã có giải pháp gì chưa?

Em đã giải quyết hết vấn đề rồi chỉ còn trở ngại việc ghi số thép thôi. Chắc là 1 - 2 hôm nữa là xong.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Trờ ngại đáng kể có lẽ là lưu lại và hiển thị được vùng rát thép, không biết Tú đã có giải pháp gì chưa?

Với 1 Line thuộc layer không in vuông góc với Line thép, user hoàn toàn có thể dễ dàng thay đổi vùng rải thép, và cũng dễ dàng kiểm soát theo ename, n hơi lâu hơn 1 chút ở vấn đề cho nó đi cặp với Line thép ^^.

Hoặc gán Line rải thép + Line thép này vào Dynamic Block và lấy thông tin của nó mỗi khi quét để tạo lại bảng thống kê

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chỉ với 1 thanh thép mũ mà có tới 4 thao tác mới vẽ xong => Vậy thì có n thanh thép mũ giống nhau hay khác nhau thì phải có tới 4xn thao tác. Hơi bị lâu bạn nhỉ? Có thể sử dụng lệnh copy hay Stretch không bạn? Giả sử User có sự nhầm lẫn về chiều dài rải thì lấy đâu để kiểm tra bạn? Có nhiều trường hợp, các ghi chú bị "đụng nhau" bạn phải move về vị trí thích hợp nữa (Với những sàn có kích thước nhỏ), bạn đã lường đến trường hợp này chưa? Việc đánh số thứ tự căn cứ trên 3 yếu tố : Loại thép, chiều dài và cả đường kính nữa. Bạn chú ý đến cả yếu tố đường kính nữa nhé.

Bạn stretch thì chiều dài rải có cập nhật theo không? Bạn đã tính tới trường hợp sàn nghiêng so với phương ngang 1 góc nào đó chưa?

 

Mấy lời góp ý. Chúc các bạn 1 buổi sáng tốt lành.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chỉ với 1 thanh thép mũ mà có tới 4 thao tác mới vẽ xong => Vậy thì có n thanh thép mũ giống nhau hay khác nhau thì phải có tới 4xn thao tác. Hơi bị lâu bạn nhỉ? Có thể sử dụng lệnh copy hay Stretch không bạn? Giả sử User có sự nhầm lẫn về chiều dài rải thì lấy đâu để kiểm tra bạn? Có nhiều trường hợp, các ghi chú bị "đụng nhau" bạn phải move về vị trí thích hợp nữa (Với những sàn có kích thước nhỏ), bạn đã lường đến trường hợp này chưa? Việc đánh số thứ tự căn cứ trên 3 yếu tố : Loại thép, chiều dài và cả đường kính nữa. Bạn chú ý đến cả yếu tố đường kính nữa nhé.

Bạn stretch thì chiều dài rải có cập nhật theo không? Bạn đã tính tới trường hợp sàn nghiêng so với phương ngang 1 góc nào đó chưa?

 

Mấy lời góp ý. Chúc các bạn 1 buổi sáng tốt lành.

Nếu theo như góp ý của Bác thì em đi theo hướng này xem ra không ổn. Có khi chuyển qua block dynamic thôi.

Trong chương trình em đã tính việc ghi số hiệu thép theo đường kính và chiều dài. Khi stretch thì chiều dài và số lượng sẽ thay đổi. Nnhưng vối số đối tượng ít vậy mà đã phải tính toán đau hết cả đầu rồi mà chương trình còn chạy chậm nữa. Cám ơn Bác đã góp ý.

Nhân tiện Bác cho em hỏi trong chương trình của bác số lượng thép thì Bác lấy thế nào.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Vẽ thép sàn và tạo bản thống kê theo mình nên dùng block dynamic có thêm thuộc att nữa là đơn giản và hiệu quả nhất.

Block Có thể copy, điều chỉnh dễ dàng.

Thống kê thép lấy dữ liệu từ các thuộc tính của block cũng đơn giản.

Đánh số thép có thể tự động đánh số hoặc nếu cho người dùng tự đánh thì ta thêm phần kiểm tra: các cây thép giống nhau phải đánh số giống nhau, các cây thép khác nhau phải đánh số khác nhau và thông báo cho người dùng bít.

Bởi vì không phải lọc các đối tượng thép nên với sàn có cả trăm loại thép vẫn cho ra kết quả tức thì.

Đối với code thì để giải quyết những việc nêu trên chắc sẽ mất không quá 300 dòng lệnh.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Dù gì thì tớ cũng nhất quyết không xài Dynamic Block để vẽ thép. Thép sàn còn phải uốn từ lớp trên xuống lớp dưới, cắt nối thép, join, breack, trim pline thép, fillet pline thép v.v. Đặc biệt dynamic block không thể Stretch bằng lệnh Stretch ! >>> Phầm mềm bị cứng, và không tận dụng được những lệnh sẵn có của AutoCAD, bắt buộc phải thêm lệnh để bù vào.

Tớ đang chờ qua hè mới làm tiếp nhận diện pline thép, muốn là nhận dạng tất cả các loại hình thép. Còn với chương trình vẽ thép sàn, thực ra để nhận diện pline thép sàn khá là dễ, chỉ có 3, 4 loại hình pline thôi. Có chương trình nhận diện được chữ viết, nhận diện được ảnh bitmap để chuyển thành bản vẽ AutoCAD cơ mà !

Ngoài ra nếu chương trình vẽ thép sàn bằng Dynamic Block, để giúp người sử dụng convert những bản vẽ trong cơ sở dữ liệu cũ thành Dynamic Block thép sàn để thống kê, thì ta lại cũng phải nhận diện pline thép :), không nhận diện được tự động thì cũng phải bán tự động để người sử dụng chuyển đổi bản vẽ cũ sang bản vẽ mới ! Vậy thì đằng nào cũng phải làm nhận diện pline thép, một công đôi việc !

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Dù gì thì tớ cũng nhất quyết không xài Dynamic Block để vẽ thép. Thép sàn còn phải uốn từ lớp trên xuống lớp dưới, cắt nối thép, join, breack, trim pline thép, fillet pline thép v.v. Đặc biệt dynamic block không thể Stretch bằng lệnh Stretch ! >>> Phầm mềm bị cứng, và không tận dụng được những lệnh sẵn có của AutoCAD, bắt buộc phải thêm lệnh để bù vào.

Đúng như thế đấy. Hợp ý với Tue_NV lắm :rolleyes:

Chương trình của mình thì chỉ có được 3 loại thép. Ngoài ra, còn thống kê được cả thanh thép cấu tạo nữa. Với thép dầm thì nhận diện nó hơi khó vì có nhiều loại, nhưng vẫn có cách để nhận diện được nó. Với thép sàn thì đơn giản hơn. Chúc bạn ơrêka tìm ra đáp số ^_^

Hì hì, trong chương trình của mình thì việc Nhận dạng thép sàn lên đầu tiên đấy với mục đích là Nhận dạng thép sàn và kiểm tra các công việc liên quan ở đằng sau. Làm được công việc nhận dạng rồi mới đi tính công chuyện tiếp theo.

Chúc bạn thành công, sớm hoàn thành tác phẩm với những ý tưởng của mình

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Theo mình nghỉ chúng ta lập trình trong cad cần giải quyết 2 vấn đề:

1)Cho Thiết kế: vẽ + thống kê

2)Cho Thi công: đã có bản vẽ của 1 đơn vị bất kỳ nên nhiệm vụ còn lại là thống kê.

Vấn đề 1 là cái mình đang tập trung làm và cũng đã làm được 1 số cấu kiện như dầm, cột, cầu thang với 1 cái click chuột cho ra bản vẽ+thống kê.

Vấn đề 2 chắc có lẽ là vấn đề các bạn đang nghiên cứu. Có nhiều công ty thi công kêu mình làm nhưng với khả năng có hạn mình ko thể nào nghỉ ra thuật toán với 1 cách thể hiện bản vẽ bất kỳ của 1 cấu kiện bất kỳ, ta có thể quét 1 cái là có thể nhận dạng thép và cho ra thống kê.

Chúc các bạn nghỉ ra được thuật toán tối ưu để góp phần làm tăng năng suất cho công việc thiết kế xây dựng.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×