PDA

View Full Version : نحوه برقرای ارتباط با autocad 14



morteza_dehghan
پنج شنبه 05 تیر 1382, 10:17 صبح
سلام
من با vb6 کار میکنم می خواهم از داخل برنامه یکسری فایل های cad ( تمام فایلها نقشه میباشد) را بازکرده و بر روی آنها جستجو کرده و مکان خاصی را پیدا کرده و آن نقطه را zoom نمایم (البته تمام مکانها روی نقشه کد گذاری شده ) چگونه می توانم
خواهشمندم چناچه ممکن است راهنمائی کرده و اگر هم نمونه برنامه ای دارید برایم بفرستید
با کمال تشکر فراوان
mdehghan2001@YAHOO.com :D :wink:

شفیعی
پنج شنبه 05 تیر 1382, 21:21 عصر
دوست عزیز
سلام
نمونه برنامه برایت فرستادم من نیز روی ارتباط اتوکد با بیسیک زیاد کار کردم البته با دلفی نیز سعی کردم ارتباط برقرار کنم ولی نشد مایلم در زمینه بیشتر با هم همکاری نمائیم
با تشکر ناصر شفیعی
NASER_SHAFIEI@YAHOO.COM

morteza_dehghan
یک شنبه 08 تیر 1382, 18:33 عصر
سلام
دوست عزیز آقای شفیعی
باعرض معذرت هنوز چیزی بدست من نرسیده :( و این موضوع خیلی برای من ضروری است با عرض شرمندگی لطفا به این آدر س برایم بفرستید :oops:
واقعاً شرمنده هستم
khoshtipbakelas@yahoo.com

ممنونم

شفیعی
دوشنبه 09 تیر 1382, 00:16 صبح
دوست عزیز سلام
چون از طریق ایمیل نتوانستم برنامه را برایت بفرستم
سورس نمونه ای از برنامه در پایین برایت نوشتم
برنامه لیست فایلهای موجود در درایو جاری را پیدا می کند ویکی یکی فایلها را در اتوکد 14 نمایش می دهد

Dim acadapp As Object
Private Sub RUNACAD()
On Error Resume Next
Set acadapp = GetObject(, "AutoCAD.Application")
If Err Then
Err.Clear
Set acadapp = CreateObject("AutoCAD.Application")
If Err Then
MsgBox Err.Description
Exit Sub
End If
End If
acadapp.Visible = True
MsgBox "The active document is: " & activeDoc.Name, vbInformation, "ActiveDocument Example"
End Sub
Private Sub opencad(filename As String)
Dim aactivedc As Object
Set activeDc = acadapp.ActiveDocument
activeDc.Open (filename)
End Sub
Private Sub Command1_Click()
Form1.Hide
Call RUNACAD
EX = App.Path
F = EX + "\*.DWG"
N = Dir(F)
While N <> ""
Call opencad(EX + "\" + N)
Call ZOOMEXTEND
For T = 0 To Val(Text1.Text * 500)
Next
N = Dir()
Wend
acadapp.QUIT
End
End Sub
Private Sub ZOOMEXTEND()
Dim pViewport As Object
Dim activeDc As Object
Set activeDc = acadapp.ActiveDocument
Set pViewport = activeDc.ACTIVEViewport
pViewport.ZoomExtents
activeDc.SAVE
End Sub

اگر باز هم مشکل داشتی بنده درخدمت هستم از اینکه دیر شد بنده را عفو نمائید
ارادتمند ناصر شفیعی

morteza_dehghan
دوشنبه 09 تیر 1382, 02:54 صبح
سلام
دوست عزیز خیلی ممنونم . دمت گرم :oops:
ببین میدونی چگونه می توانم روی فایلم zoom کرده و نقطه خاصی را پیدا کنم :wink:
بازم آقای شفیعی متشکرم

شفیعی
سه شنبه 10 تیر 1382, 16:59 عصر
دوست عزیز سلام
منظورتان از نقطه خاص چیست اگر مختصات نقطه را داشته باشید با زوم ویندو می توانید همان قسمت از فایل را بزرگ نمائید اگر ممکن است بیشتر توضیح دهید چکار می خواهید بکنید
:lol:

morteza_dehghan
چهارشنبه 11 تیر 1382, 12:50 عصر
سلام
دوست عزیز آقای شفیعی
اولا با عرض معذرت من خیلی cad بلد نیستم ولی کاری که من می خواهم بکنم این است که:
من نقشه یک شهر رادارم که به بلوک های خاصی تفکیک شده و هر کدام از بلوکها خود فایلی جدا دارند در این بلوکها ملکهایی که وجود دارد شماره گذاری شده

حالا من می خواهم در برنامه شماره ملک را بدهم از طریق شماره ملک فایل بلوک مربوط به آن را بازکرده آن ملک را پیدا کرده و روی آن ملک zoom کنم
ضمناُ گفته باشم نام فایلها، کد بلوک است مثلاُ فایل 3221 که مال بلوک 3221 است و تمام ملکهای آن بلوک با همان عدد شروع می شود مثلاُ ملک 3221001001001 نام بلوکها 4 رقمی و کد ملکها 13 رقمی است
اگه تونستم منظورم را برسانم خواهشمندم اگر ممکنه راهنمائی :oops: :( :wink:

شفیعی
شنبه 14 تیر 1382, 18:30 عصر
دوست عزیز سلام
اگر ممکن است یکی از فایلهای اتوکد را برایم بفرست تا بیشتر متوجه شوم .بهتر بتوانم کمک کنم

morteza_dehghan
پنج شنبه 19 تیر 1382, 18:53 عصر
سلام
دوست عزیز فایل را که خواستی فرستادم
حالا دو تا مشکل دارم یکی اینکه می خواهم ار داخل برنامه acad را باز می کنم برنامه اصلی بسته نشود دوما همان قضیه نقطه خاص :wink: که قبلا گفتم ضمنا یک متغیر استفاده کردی به نام activeDoc این از چه نوعی است ضمنا اگر محبت کنی و شماره تلفنی از خودت که بتونم باهات صحبت کنم بزاری ممنون می شوم خیلی شرمنده راستی من فقط تا شنبه وقت دارم :cry:
با تشکر و شرمندگی

شفیعی
شنبه 28 تیر 1382, 15:31 عصر
دوست عزیز سلام
اگر می خواهی پس از باز شدن اتوکد برنامه بسته نشود در مثالی که در بالا نوشته ام دستور END اخر بردار برنامه بسته نمی شود دوما اگر مختصات نقاط را دارای به همان روش که در مثال بالا ZOOM می کنم می توانی ZOOM WINOW انجام دهی در HELP اتوکد دنبال VB بگرد خودش در این زمینه مثال دارد

morteza_dehghan
شنبه 28 تیر 1382, 18:53 عصر
سلام
آقای شفیعی دوست عزیز آن فایلی که برای شما فرستادم اگر بدستون رسیده و گره ای از مشکل باز کرد در صورت امکان اگر میشه به ما هم یاد بده :oops:
با تشکر

شفیعی
یک شنبه 29 تیر 1382, 21:38 عصر
دوست عزیز سلام
یک نمونه برنامه در مورد ZOOM WINDOW برای ارسال کردم برنامه فایل اتوکد را باز کرده وبراساس یک مختصات که در داخل برنامه داده شده است محدوده ای از صفحه را ZOOM می کند ونقطه را نمایش می دهد اگر باز هممشکل داشتی بنده در خدمت هستم
به امید موفق همه دوستان

morteza_dehghan
دوشنبه 30 تیر 1382, 01:52 صبح
سلام
دوست عزیز آقای شفیعی واقعا ممنون نمیدونم چه جوری جبران کنم :oops:
اما چند تا راهنمایی دیگر هم می خواستم بهم بکنی در صورت امکان :oops:
1ـ با توجه به فایلی که برای شما فرستادم اگر دقت کنید خواهید دید که یکی از لایه های تعریف شده به نام kod-zamin وجود دارد که در این لایه همان کدهایی که قبلا گفته بودم وجوددارد حال من می خواهم چنانچه در cad امکان جستجوداریم این کد مورد نظر را جستجو کرده و مکان آن را یافته وبا توجه به نقاط بدست آمده آن قسمت را درشت کنم آیا چنین امکانی جستجویی است واگر جواب مثبت است نحوه این کاررا لطفا اگر ممکن است بهم بگید ببخشید که من اینقدر مزاحمتون میشوم
2ـ با توجه به اینکه ما زمانی که فایل cad را میخواهیم باز کنیم از برنامه اصلی خارج شده به برنامه cad وارد میشویم اولا ایا راه حلی است که ما داخل برنامه خودمان بدون اینکه cad را صدابزنیم این کارهارا انجام بدهیم اگر جواب مثبت است چه جوری؟؟؟ اگر منفی است ایا نرم افزار دیگری را می شناسید که همین کارهای مد نظر مارا انجام دهد وداخل برنامه هم باشد بدون اینکه از برنامه خارج شود :(
آقا شرمنده خیلی پررویی کردم باز هم متشکرم :oops:

hamidi_77
چهارشنبه 04 مهر 1386, 09:25 صبح
از mapobject استفاده کن خیلی امکانات داره