چهارشنبه, 07 فروردين 1398 07:44:27

مقالات آموزشی و رفع مشکلات کاربران در اتوکد

روش ساخت نوار ابزار به صورت دینامیک با اتولیسپ روش ساخت نوار ابزار به صورت دینامیک با اتولیسپ

در این آموزش قصد داریم به وسیله زبان برنامه نویسی ویژوال لیسپ یک نوار ابزار در اتوکد ایجاد کنیم و یک آیتم به آن اضافه کنیم که با کلیک روی آن فرمان FIND در اتوکد اجرا شود. در این آموزش این کار را به صورت دینامیک انجام می دهیم یعنی اینکه نوار ابزار ایجاد می شود و پس از بستن اتوکد، از بین می رود.

mytoolbar.lsp

(defun c:mytoolbar ()
  (vl-Load-com)

  (setq acadApp (vlax-get-acad-object))

  (setq	currMenuGroup
	 (vlax-invoke-method
	   (vlax-get-property acadapp "MenuGroups")
	   "Item"
	   "ACAD"
	 )
  )

  (setq	countToolbarItems
	 (vlax-get-property
	   (vlax-get-property currMenuGroup "Toolbars")
	   "Count"
	 )
  )

  (setq end nil)
  (setq i 0)

  (while (not end)
    (progn

      (setq newToolBar
	     (vlax-invoke-method
	       (vlax-get-property currMenuGroup "Toolbars")
	       "Item"
	       i
	     )
      )
      (vlax-get-property newToolBar "Name")

      (if (= (vlax-get-property newToolBar "Name") "Test")
	(progn
	  (princ i)
	  (setq end T)
	)
      )
      (setq i (+ i 1))
      (if (= i countToolbarItems)
	(setq end T)
      )
    )
  )

  (if (/= (vlax-get-property newToolBar "Name") "Test")
    (progn

      (setq newToolBar
	     (vlax-invoke-method
	       (vlax-get-property currMenuGroup "Toolbars")
	       "Add"
	       "Test"
	     )
      )
    )
  )

  (vlax-put-property newToolBar "Visible" 1)

  (if (/= (vlax-get-property newToolBar "DockStatus") 3)
    (vlax-invoke-method newToolBar "Dock" 3)
  )


  (setq macro (strcat (chr 3) (chr 3) (chr 95) "FIND" (chr 32)))
  (setq	newButton (vlax-invoke-method
		    newToolBar	     "AddToolbarButton"
		    ""		     "my_toolbar_item"
		    "find"		     macro
		   )
  )

  (vlax-invoke-method
    newButton
    "SetBitmaps"
    "D:/mytoolbar/16_16_find.bmp"
    "D:/mytoolbar/32_32_find.bmp"
  )

)
  1. یک پوشه در درایو D ایجاد کنید و نام آن را mytoolbar بگذارید.
  2. یک فایل متنی در این پوشه ایجاد کرده و نام آن را mytoolbar.lsp بگذارید.
  3. فایل mytoolbar.lsp را با برنامه notepad ویندوز ویرایش کرده و قطعه کد فوق را در آن قرار دهید و آن را ذخیره کنید.
  4. دو تصویر کوچک با ابعاد 16 در 16 پیکسل و 32 در 32 پیکسل با فرمت bmp بسازید و نام آن ها را 16_16_find.bmp و 32_32_find.bmp قرار دهید.
  5. اتوکد را بازکنید و فایل mytoolbar.lsp را به داخل آن کشیده و رها کنید. با این کار برنامه ما در اتوکد بارگذاری می شود. همچنین می توانید از دستور appload برای بارگذاری آن استفاده کنید.
  6. در اتوکد تایپ کنید : mytoolbar و اینتر کنید. باید مانند تصویر بالا یک نوار ابزار در سمت راست صفحه اتوکد ایجاد شود. با کلیک روی آیکون جستجو در این نوار ابزار، فرمان FIND اتوکد اجرا می شود. می توانید هر ماکروی دیگری که خواستید را برای آن بنویسید.

من قبلا این فایل را ایجاد کرده ام می توانید آن را از لینک زیر دانلود کرده و در درایو D، اکسترکت کنید.

دانلود نمونه فایل اتولیسپ ساخت نوار ابزار به وسیله اتولیسپ در اتوکد

 

دیدگاه‌ها   

0 #5 سعید مرادی 1396-01-11 11:59
باسلام
من میخواهم یک نوارابزار در اتوکد با نام سر فصل Auto cut ایجاد کنم و در ان دستوراتی ایجاد کنم و این دستورات بعضیهاشون کار جدیدی
در اتوکد باید انجام بدن مثلا روی یک شکل ترسیم شده مثل مربع بتوانم یک مسیر حرکت از مرکز مربع به وسط یکی از اضلاع مربع با کلیک موس در مرکز مربع و سپس امتداد دادن تا مرکز ضلع مربع وکلیک کردن روی ان نقطه و سپس دادن افست داخل خارج و یا روی اضلاع مربع
این شکل با رنگی دیگر نمایان شود و دستورات مشابه این زیاد داریم
اگر بصورت پروژهای هم بتوانید انجام دهید من میخواهم این از روی یک نرم افزار چینی است در صورتیکه میتوانید انجام دهید با شماره
09122476014 با من تماس بگیرید
با تشکر
نقل قول کردن
0 #4 هادی پورعباس 1395-03-12 11:49
به نقل از امیر:
به نقل از هادی پورعباس:
به نقل از امیر:
سلام. خیلی ممنون. چطوری میشه نام دستور رو تغییر داد و هر بار هم اتوماتیک با اجرای اتوکد اجرا بشه؟

سلام. خط 1، بعد از c: به جای عبارت mytoolbar هر نام دیگری که خواستید بنویسید. برای اینکه با بازکردن اتوکد، این نوار ابزار به صورت اتوماتیک نمایش داده بشه، فرمان appload اتوکد رو اجرا کنید و فایل mytoolbar.lsp رو به startup suite، اضافه کنید.

خیلی ممنون اما با تغییر نام دستور برنامه تو اتوکد ارور میده و اجرا نمیشه.

اگه دقت داشته باشید، میشه. پرانتزهای باز و بسته باید حتما گذاشته شوند. در نام گذاری هم باید به نکات زیر توجه کنید: از کاراکترهای خاص استفاده نکنید. از space استفاده نکنید. حرف اول نباید عدد باشد.
نقل قول کردن
0 #3 امیر 1395-03-10 11:12
به نقل از هادی پورعباس:
به نقل از امیر:
سلام. خیلی ممنون. چطوری میشه نام دستور رو تغییر داد و هر بار هم اتوماتیک با اجرای اتوکد اجرا بشه؟

سلام. خط 1، بعد از c: به جای عبارت mytoolbar هر نام دیگری که خواستید بنویسید. برای اینکه با بازکردن اتوکد، این نوار ابزار به صورت اتوماتیک نمایش داده بشه، فرمان appload اتوکد رو اجرا کنید و فایل mytoolbar.lsp رو به startup suite، اضافه کنید.

خیلی ممنون اما با تغییر نام دستور برنامه تو اتوکد ارور میده و اجرا نمیشه.
نقل قول کردن
0 #2 هادی پورعباس 1395-02-29 22:42
به نقل از امیر:
سلام. خیلی ممنون. چطوری میشه نام دستور رو تغییر داد و هر بار هم اتوماتیک با اجرای اتوکد اجرا بشه؟

سلام. خط 1، بعد از c: به جای عبارت mytoolbar هر نام دیگری که خواستید بنویسید. برای اینکه با بازکردن اتوکد، این نوار ابزار به صورت اتوماتیک نمایش داده بشه، فرمان appload اتوکد رو اجرا کنید و فایل mytoolbar.lsp رو به startup suite، اضافه کنید.
نقل قول کردن
0 #1 امیر 1395-02-29 12:28
سلام. خیلی ممنون. چطوری میشه نام دستور رو تغییر داد و هر بار هم اتوماتیک با اجرای اتوکد اجرا بشه؟
نقل قول کردن

نوشتن دیدگاه

دوست عزیزم، سوالاتی که فینگلیش تایپ شود، شاید منتشر شود ولی پاسخ داده نخواهد شد!


تصویر امنیتی
تصویر امنیتی جدید

کدفا، برای اتوکد 2007 تا 2016 - 32 و 64 بیتی

کدفا (cadFA) ورژن 2016

دانلود رایگان

خرید لایسنس

  • ellahe 1397-12-22 23:15
    سلام. این یه مشکل بزرگ و تقریبا حل نشدنی بود که به لطف راهنمایی های شما حل شد بلاخره بی نهایت ممنونم ازتون :-) :lol:

    ادامه مطلب ...

     
  • نازنين 1397-10-15 11:03
    سلام مشکل من دراتوکد اينه که تو يه سري از فايلها نمتونم edit block in-place باز کنم. اگر ميتونيد لطفا راهنمايي کنيد

    ادامه مطلب ...

     
  • نازنين 1397-10-15 11:00
    سلام من مشکلم در اتوکد اينه که تو يه سري از فابلها نميتونم edit block in-place باز کنم. لطفا اگه ميتونيد راهنمايي کنيد

    ادامه مطلب ...

     
  • mlh 1397-10-08 17:24
    سلام من اتوکدم 2019 حروف جدا از هم موقع پی دی اف کردن میشه یه راه حل بدین سپاس

    ادامه مطلب ...

     
  • هادی پورعباس 1397-09-21 21:55
    شیء مورد نظر رو انتخاب کنید، سپس دستور mo رو در اتوکد تایپ و اینتر کنید.

    ادامه مطلب ...

کد نام کالا قیمت (تومان)
مجموع 0