Đến nội dung


Hình ảnh
- - - - -

Viết VBA theo yêu cầu.............


  • Please log in to reply
124 replies to this topic

#61 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 30 June 2009 - 10:08 PM

Các bác giúp em một chương trình sao cho có thể vẽ nhanh một họ đường thẳng song song với một họ đường thẳng cho trước mà đường này lại nối tiếp vào đường trước nó đc ko? Em xin cảm ơn nhiều!


Bạn nói chung chung quá, không rõ ràng. Nên có hình minh họa.
  • 1
Clear sky!

MF Rock collection.

#62 pohan

pohan

    biết zoom

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

Đã gửi 01 July 2009 - 02:53 PM

Hình đây các bác, các đường ở bên phải được vẽ song song ở bên trái, theo màu sắc chúng song song với nhau đường này nối tiếp đường kia, khoảng chia là 1m
Hình đã gửi
  • 0

#63 anhcos

anhcos

    biết lệnh hatchedit

  • Advance Member
  • PipPipPipPip
  • 260 Bài viết
Điểm đánh giá: 170 (tàm tạm)

Đã gửi 02 July 2009 - 03:42 PM

Hình đây các bác, các đường ở bên phải được vẽ song song ở bên trái, theo màu sắc chúng song song với nhau đường này nối tiếp đường kia, khoảng chia là 1m


Khó hình dung quá, cái này bạn vẽ 2D hay 3D trên nền 2D vậy.
  • 0
Clear sky!

MF Rock collection.

#64 pohan

pohan

    biết zoom

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

Đã gửi 03 July 2009 - 08:19 PM

Cái này là 2d mà. Vậy em nói đơn giản thế này nhé, em có 2 đoạn thẳng AB,AC đồng quy, bây h em cần vẽ hai đoạn thẳng DE//AB, EF//AC như hình sau:
Hình đã gửi
  • 0

#65 unlucky12

unlucky12

    biết zoom

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

Đã gửi 18 December 2009 - 09:29 PM

có bac nao` giúp em viet chương trình VBA để thông kê và phân laoij côt thép với ( đọc cái tên topic nghe hay wa' :rolleyes: :( :rolleyes:
  • 0

#66 unlucky12

unlucky12

    biết zoom

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

Đã gửi 18 December 2009 - 09:31 PM

em cần cốt của VBA nha ko cần pm đâu :rolleyes: nếu có form thỳ càng tốt :(
  • 0

#67 unlucky12

unlucky12

    biết zoom

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

Đã gửi 18 December 2009 - 10:15 PM

Mời các bạn đưa ra các yêu cầu viết các hàm VBA trong Autocad để các thành viên đưa lên

hjhj anh có thể cho em đoạn code VBA về thống kê và phân loại cốt thép ko :( cả form của nó thỳ càng tôt :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
  • 0

#68 CDung_k47

CDung_k47

    biết vẽ pline

  • Members
  • PipPip
  • 65 Bài viết
Điểm đánh giá: 36 (tàm tạm)

Đã gửi 25 December 2009 - 05:47 PM

Các pro cho em hỏi tý,đây là code tạo Hatch của bác phamtuhuong:
Sub Example_AppendInnerLoop()
' This example creates an associative hatch in model space.

Dim hatchObj As AcadHatch
Dim patternName As String
Dim PatternType As Long
Dim bAssociativity As Boolean
Dim DiemP(0 To 2) As Double

' Define the hatch
patternName = "ANSI31"
PatternType = 0
bAssociativity = True

' Create the associative Hatch object
Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity)

' Create the outer loop for the hatch.
' An arc and a line are used to create a closed loop.

Dim outerLoop(0 To 1) As AcadEntity
Dim center(0 To 2) As Double
Dim radius As Double
Dim startAngle As Double
Dim endAngle As Double
center(0) = 5: center(1) = 3: center(2) = 0
DiemP(0) = 2.5: DiemP(1) = 3.5
radius = 3
startAngle = 0
endAngle = 3.141592
Set outerLoop(0) = ThisDrawing.ModelSpace.AddArc(center, radius, startAngle, endAngle)
Set outerLoop(1) = ThisDrawing.ModelSpace.AddLine(outerLoop(0).StartPoint, outerLoop(0).EndPoint)

' Append the outer loop to the hatch object
hatchObj.AppendOuterLoop (outerLoop)

' Append a circle as the inner loop for the hatch.
Dim innerLoop(0) As AcadEntity
Dim innerLoop1(0) As AcadEntity
center(0) = 5: center(1) = 4.5: center(2) = 0
radius = 1
Set innerLoop(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
Set innerLoop1(0) = ThisDrawing.ModelSpace.AddText("PTH", DiemP, 0.2)
hatchObj.AppendInnerLoop (innerLoop)
hatchObj.AppendInnerLoop (innerLoop1)

' Evaluate and display the hatch
hatchObj.Evaluate
ThisDrawing.Regen True

End Sub



Em bắt chước làm thử với các kiểu Hatch khác(tạo line hoặc cirle để hatch) nhưng không biết cách,làm hoài không chạy,mong có bác nào biết thì chỉ dùm với.Nhân tiện hỏi luôn định độ thưa(hoặc dày) của Hatch trong VBA như thế nào??? :(
  • 0

#69 viet_civil

viet_civil

    Chưa sử dụng CAD

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

Đã gửi 09 February 2010 - 02:46 PM

Tôi có 1 ý tưởng viêt 1 đoạn chươngtrìnht tính diện tích giao giữa 2 polyline kín. Mọi người cùng nghiên cứu và thảo luận nhé! Rất mong các bạn góp ý kiến cho ý tưởng này.
Hình đã gửi
  • 0

#70 phantuhuong

phantuhuong

    biết dimstyle

  • Moderator
  • PipPipPipPipPip
  • 383 Bài viết
Điểm đánh giá: 200 (khá)

Đã gửi 13 February 2010 - 08:53 PM

Tôi có 1 ý tưởng viêt 1 đoạn chươngtrìnht tính diện tích giao giữa 2 polyline kín. Mọi người cùng nghiên cứu và thảo luận nhé! Rất mong các bạn góp ý kiến cho ý tưởng này.
Hình đã gửi


Việc đầu tiên là phải xác định điểm giao giữa 2 đối tượng, sau đó trình duyệt qua từng đỉnh và tạo 1 đối tượng Polyline đi qua những đỉnh đó. Từ đối tượng polyline có thể xác định diện tích, sau đó là xoá bỏ đối tượng đó.
  • 1
Bồi dưỡng Excel & VBA cho các đơn vị ở Hà Nội và khu vực lân cận

Từng bước loại đồ Tàu ra khỏi cuộc sống!


#71 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 14 February 2010 - 07:41 PM

Tôi có 1 ý tưởng viêt 1 đoạn chươngtrìnht tính diện tích giao giữa 2 polyline kín. Mọi người cùng nghiên cứu và thảo luận nhé! Rất mong các bạn góp ý kiến cho ý tưởng này.
Hình đã gửi

Theo ý kiến của Tue_NV
=> Ta chuyển 2 Polyline thành 2 Region
-> Dùng Intersect -> Lấy đa tuyến giao của 2 Region này
-> Tính diện tích

Vì Tue_NV không rành về lĩnh vực VBA, nhưng với Lisp thì mình có thể xây dựng được

Chúc các bạn một năm mới vui vẻ, hạnh phúc và thành công :undecided:
  • 1

#72 ngovinh

ngovinh

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 298 Bài viết
Điểm đánh giá: 102 (tàm tạm)

Đã gửi 14 February 2010 - 08:05 PM

Theo ý kiến của Tue_NV
=> Ta chuyển 2 Polyline thành 2 Region
-> Dùng Intersect -> Lấy đa tuyến giao của 2 Region này
-> Tính diện tích

Vì Tue_NV không rành về lĩnh vực VBA, nhưng với Lisp thì mình có thể xây dựng được

Chúc các bạn một năm mới vui vẻ, hạnh phúc và thành công :undecided:

Không hiểu ý của tác giả viet_civil theo em : gõ lệnh BO, tiếp theo là LI sẽ biết được diện tích phần giao...
  • 0

#73 xinhgai1010

xinhgai1010

    Chưa sử dụng CAD

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

Đã gửi 29 May 2010 - 08:20 PM

Em có một bài tập nhóm ! Thầy cho tự do về đề tài ! em đang định làm một cái user form có thể tạo mảng các hình chữ nhật theo người dùng nhập vào ! nhưng chưa biết bắt đầu từ đâu cả :rolleyes: hi vọng các bác giúp em vụ này !




_______________

Bạn tìm kiếm những bản nhac vn, thường xuyên nghe nhac mp3 ! hãy vào nghe nhac mp3 của nhac.vui.vn
  • 0

#74 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 31 May 2010 - 08:16 AM

Em có một bài tập nhóm ! Thầy cho tự do về đề tài ! em đang định làm một cái user form có thể tạo mảng các hình chữ nhật theo người dùng nhập vào ! nhưng chưa biết bắt đầu từ đâu cả :rolleyes: hi vọng các bác giúp em vụ này !
..............................

Để mọi nguời hiểu đuợc, Bạn nên trình bày ý tuởng tạo mảng các hình chữ nhật 1 cách rõ ràng hơn.

Bài tập thì phải hoàn thành, nhưng bây giờ mới bắt đầu học VBA thì e rằng quá trễ ?!
Tham khảo thông báo của Autodesk : link
Autodesk has begun the transition of VB customization from VBA to .NET technology. Currently, VBA is still supported in Autodesk products. However, starting with AutoCAD 2010, VBA is no longer part of the default AutoCAD installation and must be downloaded and installed separately.
.........................
Autodesk is evaluating how long VBA will be supported in Autodesk products in the future. Though supported in the AutoCAD 2010-based products, it may or may not be supported in future releases. Therefore, it is strongly recommended that VB developers develop all new code using VB .NET.

  • 0

#75 pdhuyxn2

pdhuyxn2

    biết vẽ circle

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

Đã gửi 08 August 2010 - 08:55 PM

Tại màn hình cad :
Có 1 khối :
| Mã | Chiều dài | Nội dung 1 | Nội dung 2 | Nội dung 3| Nội dung 4|
1 100 X1 X2 X3 X4
2 50 A1 A2 A3 A4
3 30 B1 B2 B3 B4

Khi mình đánh mã 1 thì tại bảng bên EXCEL
1 100 X1 X2 X3 X4
1 100 X1 X2 X3 X4
1 100 X1 X2 X3 X4
Khi mình đánh mã 2 thì tại bảng bên EXCEL
2 50 A1 A2 A3 A4
2 50 A1 A2 A3 A4
2 50 A1 A2 A3 A4
2 50 A1 A2 A3 A4
Khi mình đánh mã 3 thì tại bảng bên EXCEL
3 30 B1 B2 B3 B4
3 30 B1 B2 B3 B4
3 30 B1 B2 B3 B4

Nhờ các cao thủ viết hộ VBA từ Cad sang excel với.
  • 0

#76 thelightzzz

thelightzzz

    Chưa sử dụng CAD

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

Đã gửi 24 August 2010 - 01:40 PM

Cho mình hỏi về đoạn VBA đếm số block đã xuất hiện trong bản vẽ thì như thế nào. Mong các bạn hướng dẫn cho mình nhé.

Cám ơn nhiều.
  • 0

#77 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 995 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 24 August 2010 - 02:36 PM

Gửi bác Nguyen Hoanh
Bác giỏi quá trời. Em phục bác quá.
Em nhờ bác giúp cho em gọi lệnh trong menu khi em đã tạo ra nó trong VBA nhưng khi gọi hàm ra nó lại không thực hiện gì cả.
File của em đây:
http://www.4shared.c...1te4/VD_XD.html
  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#78 hoa35ktxd

hoa35ktxd

    biết lệnh move

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

Đã gửi 24 August 2010 - 08:53 PM

Cho mình hỏi về đoạn VBA đếm số block đã xuất hiện trong bản vẽ thì như thế nào. Mong các bạn hướng dẫn cho mình nhé.

Cám ơn nhiều.

Bạn thử xem nhé
Sub blockcount()
Dim ssetObj As AcadSelectionSet
Set ssetObj = ThisDrawing.SelectionSets.Add("SSET")

Dim gpCode(0) As Integer
Dim dataValue(0) As Variant
gpCode(0) = 0
dataValue(0) = "Insert"
ssetObj.SelectOnScreen gpCode, dataValue
MsgBox ssetObj.Count
ThisDrawing.SelectionSets.Item("SSET").Delete
End Sub

  • 0

#79 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 995 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 25 August 2010 - 09:26 AM

Bác Gia_Bach ơi!
Em có đang viết VBA mà đang gặp vướng mắc không biết làm thế nào?
Em đã tạo menu trong Autocad bằng VBA nhưng khi gọi lệnh trong menu thì không được. Bác có thể giúp em gọi một số lệnh từ menu được không ạ?
Khi em nhấn vào menu nhập số liệu thì nó sẽ hiện lên from Nhapsolieu ..... em sẽ tự làm các mục tiếp theo. Em cảm ơn bác nhiều.
http://www.4shared.c...1te4/VD_XD.html
  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#80 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 995 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 25 August 2010 - 10:49 AM

Em đã tìm được gọi lệnh từ menu rồi các bác à.
Dẫu sao em tự tìm được cũng là 1 niềm vui. Lần sau em sẽ chịu khó tìm kiếm rồi sẽ hỏi các bác.
  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn