máy bơm nước hỏa tiễn công ty in ấn https://duan-knparadise.com/ Bơm nước hỏa tiễn bóp da nam Túi nilon PP cong ty in bieu mau
Cách lấy vị trí trong đối tượng offset của VBA for AutoCad? - Diễn đàn của các kỹ sư kết cấu Việt Nam










































































Features
Go Back   Diễn đàn của các kỹ sư kết cấu Việt Nam > ỨNG DỤNG TIN HỌC TRONG THIẾT KẾ XÂY DỰNG > Lập trình tính toán, phân tích kết cấu
Tên thành viên
Mật mã
Tin HOT Thông tin BQT diễn đàn

Result  Reload Thống Kê - Diễn đàn của các kỹ sư kết cấu Việt Nam
All Forums | Thông báo | Văn Bản Pháp Luật | Văn Hóa Văn Nghệ Giao Lưu
Please wait...
Please wait...
Loading...
Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 05-05-2007   #1
PhanTuHuong
Thành viên rất tích cực
 
Tham gia ngày: May 2006
Bài gởi: 392
Thanks: 152
Thanked 622 Times in 135 Posts
Default Cách lấy vị trí trong đối tượng offset của VBA for AutoCad?

Trong quá trình xây dựng thủ tục VBA for AutoCad, tôi có vấn đề này nhờ mọi người giúp đỡ như sau:
Khi tôi sử dụng phương thức Offset để tạo thêm đối tượng mới. Để truy bắt vào đối tượng mới (ví dụ như endPoint hay startPoint) thì lại không được như đối tượng AcadLine thông thường. Không hiểu có phải nguyên nhân là đối tượng offset được coi là variant hay không?

Trong ví dụ dưới tôi muốn lấy endPoint của line1Obj nhưng không được.


Trích:
Sub Example_Offset()
Dim lineObj As AcadLine
Dim line1Obj As Variant
Dim line2Obj As AcadLine

Dim startPoint(0 To 2) As Double
Dim endPoint(0 To 2) As Double

' Create a new line reference
startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0
endPoint(0) = 2: endPoint(1) = 2: endPoint(2) = 0
Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
line1Obj = lineObj.Offset(1)

Set line2Obj = ThisDrawing.ModelSpace.AddLine(lineObj.startPoint, line1Obj.endPoint)

End Sub
giày da nam

thay đổi nội dung bởi: PhanTuHuong, 21-03-2015 lúc 05:16 AM
PhanTuHuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-05-2007   #2
CNPM
Moderator
 
CNPM's Avatar
 
Tham gia ngày: Oct 2004
Bài gởi: 236
Thanks: 18
Thanked 112 Times in 33 Posts
Send a message via Yahoo to CNPM Send a message via Skype™ to CNPM
Default Ðề: Cách lấy vị trí trong đối tượng offset của VBA for AutoCad?

Trích:
Nguyên văn bởi PhanTuHuong
Sub Example_Offset()
Dim lineObj As AcadLine
Dim line1Obj As Variant
Dim line2Obj As AcadLine

Dim startPoint(0 To 2) As Double
Dim endPoint(0 To 2) As Double

' Create a new line reference
startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0
endPoint(0) = 2: endPoint(1) = 2: endPoint(2) = 0
Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
line1Obj = lineObj.Offset(1)

Set line2Obj = ThisDrawing.ModelSpace.AddLine(lineObj.startPoint, line1Obj.endPoint)

End Sub
Set line2Obj = ThisDrawing.ModelSpace.AddLine(lineObj.startPoint, [line1Obj(0).endPoint)
CNPM vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-05-2007   #3
PhanTuHuong
Thành viên rất tích cực
 
Tham gia ngày: May 2006
Bài gởi: 392
Thanks: 152
Thanked 622 Times in 135 Posts
Default Ðề: Cách lấy vị trí trong đối tượng offset của VBA for AutoCad?

Cám ơn bạn nhé!

giày vải nam

thay đổi nội dung bởi: PhanTuHuong, 21-03-2015 lúc 05:16 AM
PhanTuHuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-05-2007   #4
CNPM
Moderator
 
CNPM's Avatar
 
Tham gia ngày: Oct 2004
Bài gởi: 236
Thanks: 18
Thanked 112 Times in 33 Posts
Send a message via Yahoo to CNPM Send a message via Skype™ to CNPM
Default Ðề: Cách lấy vị trí trong đối tượng offset của VBA for AutoCad?

Trích:
Nguyên văn bởi PhanTuHuong
Cám ơn bạn nhé!
Làm VBA rất dễ nhưng lại rất khó. Dễ là dễ lập trình. Khó là không can thiệp sâu và cơ sở dữ liệu của CAD được, không tạo ra được đối tượng mới, không có thể tạo ra liên kết giữa các đối tượng. Rất khó bảo mật được dữ liệu, vì chỉ cần tạo ra bất kỳ một lỗi nào trong chương trình, ta có thể nhảy vào code để chỉnh sửa hay ....
Do vậy tôi khuyên bạn nên học VC để lập trình Object ARX và Object DBX. Nếu bạn muốn chỉ lập trình ARX, mà không cần DBX thì bạn có thể lập trình trên C#.Net vì C# dễ học và dễ lập trình hơn VC.
Bạn có thể download quên sách mà tôi sơ lược viết cho sinh viên tham khảo tại địa chỉ sau : http://el.uce.edu.vn/course/view.php?id=19
Chúc thành công !.
CNPM vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-05-2007   #5
PhanTuHuong
Thành viên rất tích cực
 
Tham gia ngày: May 2006
Bài gởi: 392
Thanks: 152
Thanked 622 Times in 135 Posts
Default Ðề: Cách lấy vị trí trong đối tượng offset của VBA for AutoCad?

Thực ra nghề nghiệp của tôi chỉ ứng dụng AutoCad ở mức độ vừa phải (Địa chất công trình). Tiện VBA trong Excel thì đánh cả cụm trong Cad luôn . Các phần mềm chuyên ngành cũng khá nhiều rồi. Tôi cũng chỉ cần ứng dụng lập trình ở mức độ vừa phải để giải quyết 1 số bài toán đơn giản thôi. Xu hướng chính là tôi sử dụng VB để liên kết với E hay A qua DLL. Cái của anh CNPM đưa ra là rất hay nhưng chắc là phù hợp với người chuyên sử dụng về đồ hoạ hơn.
Cám ơn ý kiến chia sẻ!

giày nam vnxk

thay đổi nội dung bởi: PhanTuHuong, 21-03-2015 lúc 05:16 AM
PhanTuHuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-06-2007   #6
pvtdhxd
Thành viên
 
pvtdhxd's Avatar
 
Tham gia ngày: Mar 2007
Bài gởi: 90
Thanks: 1
Thanked 9 Times in 8 Posts
Default Hêllo

để có thể lấy được điểm đầu và điểm cuối của đối tượng Acadline trong autocad bạn có thể làm như sau :
sub VD()
dim li as acadline
dim d1(0 to 2 ) as double
dim d20 to 2 ) as double
dim dd (0 to 2) as double
dim dc (0 to 2) as double
dim va as variant
d1(0) = 1:d1(1) = 21(3)=0
d2(0) = 10 2(1)=102(2)=0
SET li = thisdrawing.modelspace.addline(d1.d2)
dd(0)=li(0).x ' khong nho ro lam nhưng bạn show thuộc tính của nó lên là chính sác.
dd(1)=li(0).y
dc(0)=li(1).x
dc(1)=li(1).y
end sub
pvtdhxd vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Loading...
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền sử dụng ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Mở

Chuyển đến



Múi giờ GMT. Hiện tại là 08:39 AM.


DIỄN ĐÀN http://ketcau.com/forum NƠI HỘI TỤ CỦA CÁC KỸ SƯ KẾT CÂU VIỆT NAM
WWW.KETCAU.COM - CẦU NỐI CỦA CÁC KỸ SƯ KẾT CẤU CÔNG TRÌNH, ĐỊA KỸ THUẬT VIỆT NAM. DIỄN ĐÀN ĐƯỢC MUA BẢN QUYỀN CỦA JELSOFT ENTERPRISES Ltd. Thiết kế website