دوشنبه, 02 اسفند 1395 21:43:56

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

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

در این آموزش قصد داریم به وسیله زبان برنامه نویسی ویژوال لیسپ یک نوار ابزار در اتوکد ایجاد کنیم و یک آیتم به آن اضافه کنیم که با کلیک روی آن فرمان 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 #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

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

خرید لایسنس

  • moradi 1395-11-30 14:04
    آقا دستت درد نکنه...مشکل بزرگی بود که حل شد تشکر

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

     
  • محمد 1395-11-25 19:24
    منم همچین مشکلی دارم لطفا راهنمایی کنین دوستا منم این مشکلو دارم

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

     
  • هادی پورعباس 1395-11-23 20:41
    به روش Copy & Paste می تونید این کار رو انجام بدید. برنامه notepad ...

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

     
  • سودابه خطیبی 1395-11-23 12:00
    سلام من ی مشکلی توی تایپ حرف واو توی نام گذاری لایه ها به فارسی پیدا ...

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

     
  • bashan 1395-11-23 10:25
    سپاسگزارم.بسیار مفید بود

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

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