ks_chang 2 Báo cáo bài đăng Đã đăng Tháng 4 9, 2010 Chào cả nhà, mình muốn tạo một Block có thuộc tính dữ liệu như sau: - Có một loạt các ô (vẽ bằng Pline) có diện tích là S. Mình có sử dụng một đoạn code VBA để lấy ra giá trị S này và viết nó ra trong mỗi ô đó, bao gồm cả thứ tự ô và 1 vài đối tượng hình học khác (line, cỉcle...). Nay mình muốn mỗi đối tựong trong ô thống kê đó là 1 block có thuộc tính thì ko biết làm thế nào. Mong đựoc chỉ giáo? ví dụ: http://www.mediafire.com/?j1mkqywym4e - Mình có đọc qua Topic chuyểm dữ liệu giữa CAd và excel, Cách tạo Block có thuộc tính này cũng giúp mình chuyển dữ liệu qua lại excel đơn giản hơn. Rất mong đựoc chỉ giá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
hoaletrang 5 Báo cáo bài đăng Đã đăng Tháng 4 11, 2010 Để tạo 1 block có thuộc tính bạn hãy tạo như các block bình thường, riêng đối với các thuộc tính bạn hãy sử dụng lệnh ATTDEF để chèn các thuộc tính hoặc copy thuộc tính từ 1 block khác. Để hiệu chỉnh thuộc tính có lệnh ATTEDIT. 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
ks_chang 2 Báo cáo bài đăng Đã đăng Tháng 4 12, 2010 Để tạo 1 block có thuộc tính bạn hãy tạo như các block bình thường, riêng đối với các thuộc tính bạn hãy sử dụng lệnh ATTDEF để chèn các thuộc tính hoặc copy thuộc tính từ 1 block khác.Để hiệu chỉnh thuộc tính có lệnh ATTEDIT. Hi, hình như bạn hiểu nhầm í mình rồi. Ý mình là muốn tạo Block thuộc tính viết bằng VBA. Mỗi Block thuộc tính đựoc tạo ra (trong ví dụ là 1 vòng tròn thống kê tên lô và diện tích PLine chẳng hạn) khi thực hiện selection mỗi Pline đó chứ ko phải 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
hoaletrang 5 Báo cáo bài đăng Đã đăng Tháng 4 12, 2010 Hi, hình như bạn hiểu nhầm í mình rồi. Ý mình là muốn tạo Block thuộc tính viết bằng VBA. Mỗi Block thuộc tính đựoc tạo ra (trong ví dụ là 1 vòng tròn thống kê tên lô và diện tích PLine chẳng hạn) khi thực hiện selection mỗi Pline đó chứ ko phải dùng lệnh. Tôi ko biết bạn làm cụ thể như thế nào. Có vài đoạn code liên quan xin gửi bạn xem có tác dụng gì không. Dim Bl As AcadBlock Dim center(0 To 2) As Double center(0) = 2#: center(1) = 2#: center(2) = 0# Set Bl = ThisDrawing.Blocks.Add(center, "Rebar011") Bl.AddAttribute 250, acAttributeModeVerify, "Hay Nhap So", center, "NHAPSO", "12345" Bl.AddCircle center, 250 Bl.AddText "Khong Co Gi", center, 25 ThisDrawing.ModelSpace.AddMInsertBlock center, "Rebar011", 1, 1, 1, 0, 1, 1, 0, 0 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
ks_chang 2 Báo cáo bài đăng Đã đăng Tháng 4 15, 2010 Mình dùng đoạn code sau để chọn ra các 3d polyline: Dim poly_3d As AcadSelectionSet On Error Resume Next Set poly_3d = ThisDrawing.SelectionSets("SSET") poly_3d.Delete Set poly_3d = ThisDrawing.SelectionSets.Add("SSET") Dim gpCode3dpoly(0) As Integer Dim dataValue3dpoly(0) As Variant gpCode3dpoly(0) = 0: dataValue3dpoly(0) = "Polyline" poly_3d.SelectOnScreen gpCode3dpoly, dataValue3dpoly sau đó lấy ra giá trị diện tích, và tâm của polyline đó. Trong mối lần chọn đối tựợng polyline này mình muốn insert vào 1 block, sau đó add attributes vào mỗi block đó. Tuy nhiên sau khi add attributes vao thì Block này đã mạc định giá trị attribute đó, đến khi insert block này vào polyline tiếp theo (trong phép selection) thì sẽ có thêm att của đối tựong trước. Cho mình hỏi có cách nào loại bỏ đc att trước ko nhỉ? ' Insert the block Dim blockRefObj As AcadBlockReference Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock _ (point1, "block_insert", 1#, 1#, 1#, 0) 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
hoa35ktxd 38 Báo cáo bài đăng Đã đăng Tháng 4 15, 2010 Bạn thêm dòng này nữa: blockRefObj.GetAttributes(0).TextString = "Giá trị cần thay đổi" 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
trinhvqh 226 Báo cáo bài đăng Đã đăng Tháng 4 15, 2010 Chào cả nhà, mình muốn tạo một Block có thuộc tính dữ liệu như sau: - Có một loạt các ô (vẽ bằng Pline) có diện tích là S. Mình có sử dụng một đoạn code VBA để lấy ra giá trị S này và viết nó ra trong mỗi ô đó, bao gồm cả thứ tự ô và 1 vài đối tượng hình học khác (line, cỉcle...). Nay mình muốn mỗi đối tựong trong ô thống kê đó là 1 block có thuộc tính thì ko biết làm thế nào. Mong đựoc chỉ giáo? ví dụ: http://www.mediafire.com/?j1mkqywym4e - Mình có đọc qua Topic chuyểm dữ liệu giữa CAd và excel, Cách tạo Block có thuộc tính này cũng giúp mình chuyển dữ liệu qua lại excel đơn giản hơn. Rất mong đựoc chỉ giáo! ^^ Hãy thử nghiệm với ACA, vấn đề của bạn sẽ được giải quyết rốt ráo. File video File ACA 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
hoa35ktxd 38 Báo cáo bài đăng Đã đăng Tháng 4 15, 2010 Bạn dùng cad phiên bản bao nhiêu (ACA) là gì và bạn đã sử dụng những lệnh gì thế, nhìn cái Video của bạn hoa hết cả mắt, quá lợi hạ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
ks_chang 2 Báo cáo bài đăng Đã đăng Tháng 4 16, 2010 Hãy thử nghiệm với ACA, vấn đề của bạn sẽ được giải quyết rốt ráo.File video File ACA Cách làm này của bạn quá lợi hại, mình đang tìm theo từ khóa cách tạo Multi-View Block Reference để tham chiếu. Bạn có thể nói rõ hơn về cách tạo Multi-View Block Reference ko? có thể dùng VBA để tạo Multi-View Block Reference ko? Thankyou so much!!! 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
trinhvqh 226 Báo cáo bài đăng Đã đăng Tháng 4 16, 2010 Cách làm này của bạn quá lợi hại, mình đang tìm theo từ khóa cách tạo Multi-View Block Reference để tham chiếu. Bạn có thể nói rõ hơn về cách tạo Multi-View Block Reference ko? có thể dùng VBA để tạo Multi-View Block Reference ko?Thankyou so much!!! Để làm được như trên bạn phải sử dụng ACA (Tham khảo thêm ở Topic Autocad Architecture 2009) Multi-View Block là đối tượng thiết lập bởi ACA được tạo thành từ Block Attribute Bạn cứ từ từ đọc các bài viết của tôi về Tags, schedule và tìm hiểu Trước mắt, để ứng dụng cho công việc bạn hãy lấy file ACA tôi đã post và làm theo video trên - Chọn tag-> Add selected để chọn đối tượng - Schedule sẽ tự động update - Muốn xuất dữ liệu sang Exel thì kích chuột phải vào schedule -> Export 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
ks_chang 2 Báo cáo bài đăng Đã đăng Tháng 4 16, 2010 Để làm được như trên bạn phải sử dụng ACA (Tham khảo thêm ở Topic Autocad Architecture 2009)Multi-View Block là đối tượng thiết lập bởi ACA được tạo thành từ Block Attribute Bạn cứ từ từ đọc các bài viết của tôi về Tags, schedule và tìm hiểu Trước mắt, để ứng dụng cho công việc bạn hãy lấy file ACA tôi đã post và làm theo video trên - Chọn tag-> Add selected để chọn đối tượng - Schedule sẽ tự động update - Muốn xuất dữ liệu sang Exel thì kích chuột phải vào schedule -> Export - Mình vừa đọc qua cái topic của bạn, quả thật rất đáng nể, từ bứoc đầu tìm hiểu cũng như lời lẽ, phân tích của quá trình nghiên cứu, thực hành, hướng dẫn. Rất đáng học hỏi! Hóa ra cái ACA bạn nói là Autocad Architecture, thảo nào mình down file Cad của bạn dùng ko đc. Mình đang viết một đoạn code để tính khối lựong một lô bằng PL, gần như đã hoàn tất, nay mình muốn các đối tựong được tao ra trong một đối tượng selection là 1 block reference cho tiện quản lý và xuất nhập dự liệu. Ai dè lại học được chiêu mới của bác, thật thú vị. - Mình ko dùng ACA và chưa dùng bao giờ vì thực chất là công việc của mình ít hoặc chưa dùng tới nó, mình dùng civil 3D 2010. Thấy trong chương trình cũng có đối tượng Multi Block View..., Tuy ko dùng đc cái ví dụ của bạn (có lẽ khác chưong trình); Nhưng mình nghĩ chưong trình này cũng có khả năng tạo Tag, schedule như ACA. Mình sẽ theo các bài học trên topic ACA để áp dụng theo xem thế nào. - Một điểm chú ý nữa là chưong trình Civil 3D cũng có khả năng tạo ra sản phẩm giống như video Qhsdd, 1_8 của bạn bằng Menu Parcel, tiện lợi và khá nhanh (mình sẽ gửi video lên sau). - Trở lại với mục dích chính trên topic này, mong đc giúp đỡ cách tạo Block thuộc tính bằng Vba giống như ví dụ mình có send. 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
sson 11 Báo cáo bài đăng Đã đăng Tháng 4 20, 2010 Chào cả nhà, mình muốn tạo một Block có thuộc tính dữ liệu như sau: - Có một loạt các ô (vẽ bằng Pline) có diện tích là S. Mình có sử dụng một đoạn code VBA để lấy ra giá trị S này và viết nó ra trong mỗi ô đó, bao gồm cả thứ tự ô và 1 vài đối tượng hình học khác (line, cỉcle...). Nay mình muốn mỗi đối tựong trong ô thống kê đó là 1 block có thuộc tính thì ko biết làm thế nào. Mong đựoc chỉ giáo? ví dụ: http://www.mediafire.com/?j1mkqywym4e - Mình có đọc qua Topic chuyểm dữ liệu giữa CAd và excel, Cách tạo Block có thuộc tính này cũng giúp mình chuyển dữ liệu qua lại excel đơn giản hơn. Rất mong đựoc chỉ giáo! ^^ Đây là đoạn code tôi viết bạn xem có đúng với cái bạn đang cần không nhé. Bạn phải sử dụng đoạn code này trong file cad mà bạn up lên, vì tôi sử dụng các tên block và tên thuộc tính trong đó. Chúc bạn thành công! Public Sub pratice() On Error GoTo ketthuc Dim bloref_p As AcadBlockReference Dim ip(0 To 2) As Double Dim sset As AcadSelectionSet Dim entry As AcadEntity Set sset = ThisDrawing.SelectionSets.Add("SS1") sset.SelectOnScreen Dim pl As AcadLWPolyline Dim varAttributes As Variant Dim i As Integer For Each entry In sset If entry.ObjectName = "AcDbPolyline" Then Set pl = entry ip(0) = pl.Coordinates(0) ip(1) = pl.Coordinates(1) Set bloref_p = ThisDrawing.ModelSpace.InsertBlock(ip, "556O", 1, 1, 1, 0, "") varAttributes = bloref_p.GetAttributes For i = LBound(varAttributes) To UBound(varAttributes) If varAttributes(i).TagString = "A1-1" Then varAttributes(i).TextString = Round(pl.Area) End If Next End If Next entry sset.Delete Exit Sub ketthuc: MsgBox "loi roi" sset.Delete End Sub 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
letanviet 0 Báo cáo bài đăng Đã đăng Tháng 4 12, 2012 auto lisp là cái tào lao nhấ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
Doan Van Ha 3.191 Báo cáo bài đăng Đã đăng Tháng 4 12, 2012 auto lisp là cái tào lao nhất Hy vọng sẽ có 1 ngày đẹp trời bạn sẽ ồ lên rằng: "Ồ, nói autolisp tào lao là tào lao mất rồi!" 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
Nguyen Hoanh 4.663 Báo cáo bài đăng Đã đăng Tháng 1 14, 2018 Nếu hình đó là biên của Xclip thì bạn dùng lệnh XCLIPFRAME rồi nhập vào 0 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
Nguyen Hoanh 4.663 Báo cáo bài đăng Đã đăng Tháng 1 15, 2018 12 giờ trước, ĐỖ VĂN đã nói: mình muốn bỏ hẳn đường biên xclip thì làm ntn hả p Một vấn đề bạn chỉ nên hỏi tại một chỗ thôi, Mỗi vấn đề này của bạn mà bạn hỏi khắp nơi trên diễn đàn. Lần tới như thế là bạn bị ban nick đấy. 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