سلام دوستان
کسی میتونه یه نرم افزار واسه شماره گذاری خودکار (با کلیک کردن) توی محیط اتوکد بهم معرفی کنه؟
میخام هزارتا شماره توی محیط اتوکد وارد کنم که خیلی زیاده!
ممنون
سلام
میدونم تاپیک قدیمیه، ولی من چند سال پیش یه کد VBA تو اتوکد (لند) نوشته ام که تقریبا اینکار رو میکرد. کار دقیقش این بود که روی هر نقطه ای از نقشه که کلیک میکردی اون نقطه رو روی نقشه اتوماتیک شماره گذاری میکرد و همزمان مختصات این نقاط رو با این نام توی یه فایل ذخیره میکرد و ما اون فایل رو روی دوربین نقشه برداری آپلود و پیاده سازی می کردیم.
توضیحات زیر رو دو سال پیش تو پیام عمومی به یکی از دوستان داده بودم که اینجا (همراه با این کدی که گفتم) کپی-پیست میکنم، شاید به درد کسی بخوره.
کد:
[LEFT]
Const IDXFile = "C:\L.idx"
Const PointHeader = "L"
Const CounterStart = 3420
Const CounterInc = 20
Const PointNoStart = 50001300
Const TextHeight = 0.1
Const TextGap = 0.04
Sub point_out()
Dim CC As Integer
Dim cTab As String
Dim cQut As String
cTab = Chr(9)
cQut = Chr(34)
Dim PointName As String
Dim PointNo
Dim p As Variant
Dim objT1 As AcadText
Dim TS1 As String
If Dir(IDXFile) = "" Then
Open IDXFile For Output As #1
Close #1
Else
If MsgBox("The file " + IDXFile + " Exist. Do you want to overwrite?" + Chr(13) + "Yes: Delete this file and create New file" + Chr(13) + "No: Exit", vbYesNo + vbQuestion, "Overwrite") = vbYes Then
Open IDXFile For Append As #1
Close #1
Else
End
End If
End If
CC = CounterStart
PointNo = PointNoStart
Do
p = ThisDrawing.Utility.GetPoint(, "Enter a point: ")
PointName = PointHeader + Format(CC, "")
Open IDXFile For Append As #1
Print #1, cTab; cTab; PointNo; ","; cTab; cQut; PointName; cQut; ","; cTab; Format(p(0), "0.000"); ","; cTab; Format(p(1), "0.000"); ","; cTab; Format(p(2), "0.000") + "," + cTab + cQut + cQut + "," + cTab + cTab + "," + cTab + "FIX;"
Close #1
TS1 = PointName
p(0) = p(0)
Set objT1 = ThisDrawing.ModelSpace.AddText(TS1, p, TextHeight)
PointNo = PointNo + 1
CC = CC + CounterInc
Loop
End Sub
[/LEFT]
نحوه استفاده از برنامه:
1- اجرای برنامه
دکمه Alt+F11 رو تو اتوکد (لند) بزن تا VBA Editor باز شه. حالا برنامه رو اونجا کپی پیست کن. با زدن دکمه F5 برنامه اجرا شده و تو محیط اتوکد توخط فرمان اعلان Enter a point: ظاهر می شه که با کلیک کردن رو هر نقطه ، اسم اون نقطه (با درج یه Single text ) در همون نقطه ظاهر می شه (که همزمان این نقطه در فایل خروجی هم ذخیره می شه).
2- تنظیمات برنامه:
چهار خط اول برنامه مربوط به تنظیمات برنامه هستش (4خط زیر):
Const IDXFile = "C:\L.idx"
Const PointHeader = "L"
Const CounterStart = 3420
Const CounterInc = 20
Const PointNoStart = 50001300
خط اول: اسم و مسیر فایل خروجی
خط دوم: مربوط به پیشوند اسم نقاط هم تو فایل خروجی و هم تو اتو کد هستش. (نقاط دارای یه پیشوند + یه پسوند عددی هستن مثل M1)
خط سوم: پسوند عددی اولین نقطه که انتخاب می کنین
خط چهارم: مقدار افزایش دهنده عدد معرفی شده در خط سوم، برای نقاط بعدی انتخاب شده.
===================================
مثلا برای انتخاب نقاط محل ستونهای یه ساختمون با اسم نقاط C1, C2, C3, ... با اسم فایل col در درایو D تنظیمات برنامه اینجوریه:
Const IDXFile = "D:\col.idx"
Const PointHeader = "C"
Const CounterStart = 1
Const CounterInc = 1
Const PointNoStart = 50001300
اون خط آخر هم آی دی نقاط تو دوربین هستش که برای هر نقطه تو دوربین باید منحصر به فرد باشه، بعد هر بار اجرا کردن برنامه و انتخاب مثلا کمتر از 100 نقطه خودت دستی به رقم صدگانش یکی اضافه کن. (راستش واسه این قسمت هم یه کدی نوشتم که همیشه آی دی آخرین عدد رو تو یه فایل ذخیره می کنه و احتیاجی به این کار نیستش ولی به خاطر طولانی نشدن کدها اونو نفرستادم)