Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Detailing

Tạo menu và toolbar

Các bài được khuyến nghị

tvgtyb08    10

 

Bạn dùng thử cái này xem, nhưng vẫn phải sửa lại vì nó convert ra hơi lung tung

http://www.mediafire...d2pahfepvddc61c

 

các anh có File .mnu nào hoàn chỉnh và chạy ngon rồi ko cho em xin với để em sửa cái của em theo. Dùng cái lisp conver này cho ra cái file .mnu nhưng ko sửa cho chạy được.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Detailing    278

các anh có File .mnu nào hoàn chỉnh và chạy ngon rồi ko cho em xin với để em sửa cái của em theo. Dùng cái lisp conver này cho ra cái file .mnu nhưng ko sửa cho chạy được.

Bạn Doan Van Ha đã up lisp tạo menu lên rồi rất dễ dùng bạn search nha.

Good luck!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
duy782006    1.374

các anh có File .mnu nào hoàn chỉnh và chạy ngon rồi ko cho em xin với để em sửa cái của em theo. Dùng cái lisp conver này cho ra cái file .mnu nhưng ko sửa cho chạy được.

http://www.cadviet.com/forum/index.php?showtopic=45066&st=20

Xem thêm cái này.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
tvgtyb08    10

cảm ơn anh Duy, đó là bài viết hướng dẫn tạo Menu. Em muốn tạo Toolbar cơ. Theo hướng dẫn em đã tạo ra được file *.cui và dùng công cụ của bác Detailing em đã đổi về file *.mnu rồi (mục đích để sử dụng trên nhiều phiên bản Autocad R khác nhau) nhưng không sử dụng được.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
duy782006    1.374

cảm ơn anh Duy, đó là bài viết hướng dẫn tạo Menu. Em muốn tạo Toolbar cơ. Theo hướng dẫn em đã tạo ra được file *.cui và dùng công cụ của bác Detailing em đã đổi về file *.mnu rồi (mục đích để sử dụng trên nhiều phiên bản Autocad R khác nhau) nhưng không sử dụng được.

http://www.cadviet.c...filehethong.rar

-Mình thì viết trên file *.mns tất cả các cad đều load ầm ầm.

-Bạn load file trên về giải nén ra và copy tất vào 1 thư mục, add thư mục này vào đường dẫn tìm kiếm của cad sau đó menuload file tienich.mns lên và cho hện các Toolbar xem. Về viết Toolbar thì bạn mở file tienich.mns xem phần Toolbar. Đơn giản dể viết lắm.

 

 

@all:

-Thực ra khi copy file *.mnr đi thì hiển thị được icon nhưng khi bạn viết thêm Toolbar thì bất tiện nên giải giáp của mình là các icon (thực chất là các ảnh *.bmp) mình tổ chức trong 1 thư mục và khi copy đi chỉ copy *mns và thư mục chứ icon, khi cài đặt add thêm thư mục này vào đường dẩn tìm kiếm của cad là ổn nhất.

-Khi thiết kế icon nên dùng các àu như cad thường dùng để nhìn nó giông giống cad không nên dùng màu quá nổi bật. Sau nhiều lần chỉnh sửa màu sắc mình ra bộ icon như này nhìn cũng khá giống cad nhưng ko đi sâu vào thèn này mình thiết kế dcl và menu là chính. Toolbar thì tạo ho có với thien hạ ý chừng ta dđây cũng biết làm vậy.

tccduy.jpg

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
NvThanh    1

Chào bác Duy và anh em trong diễn đàn !

Xin hỏi bác Duy tôi add Toolbar không được,

add thư mục này vào đường dẫn tìm kiếm của cad
là add vào đâu vậy bác, có phải add vào Support File Search Path, tôi thử nhưng không được, mong bác chỉ rõ hơn.

Tôi dùng menuload thì đã load được menu các tiện ích lên AutoCAD nhưng có hạn chế là menu này không gõ bằng tiếng việt được.

Và cuối cùng xin hỏi bác cách thiết kế Toolbar

Mong bác và anh em đùng trách gà mờ lắm chuyện ^^

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
tvgtyb08    10

http://www.cadviet.c...filehethong.rar

-Mình thì viết trên file *.mns tất cả các cad đều load ầm ầm.

-Bạn load file trên về giải nén ra và copy tất vào 1 thư mục, add thư mục này vào đường dẫn tìm kiếm của cad sau đó menuload file tienich.mns lên và cho hện các Toolbar xem. Về viết Toolbar thì bạn mở file tienich.mns xem phần Toolbar. Đơn giản dể viết lắm.

 

 

@all:

-Thực ra khi copy file *.mnr đi thì hiển thị được icon nhưng khi bạn viết thêm Toolbar thì bất tiện nên giải giáp của mình là các icon (thực chất là các ảnh *.bmp) mình tổ chức trong 1 thư mục và khi copy đi chỉ copy *mns và thư mục chứ icon, khi cài đặt add thêm thư mục này vào đường dẩn tìm kiếm của cad là ổn nhất.

-Khi thiết kế icon nên dùng các àu như cad thường dùng để nhìn nó giông giống cad không nên dùng màu quá nổi bật. Sau nhiều lần chỉnh sửa màu sắc mình ra bộ icon như này nhìn cũng khá giống cad nhưng ko đi sâu vào thèn này mình thiết kế dcl và menu là chính. Toolbar thì tạo ho có với thien hạ ý chừng ta dđây cũng biết làm vậy.

tccduy.jpg

Em cảm ơn anh Duy. Em về làm thử. Em cũng chỉ muốn tạo 1 Toolbar với 1 số cái hay dùng thôi.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
duy782006    1.374

Chào bác Duy và anh em trong diễn đàn !

Xin hỏi bác Duy tôi add Toolbar không được, là add vào đâu vậy bác, có phải add vào Support File Search Path, tôi thử nhưng không được, mong bác chỉ rõ hơn.

Tôi dùng menuload thì đã load được menu các tiện ích lên AutoCAD nhưng có hạn chế là menu này không gõ bằng tiếng việt được.

Và cuối cùng xin hỏi bác cách thiết kế Toolbar

Mong bác và anh em đùng trách gà mờ lắm chuyện ^^

-Đúng là Support File Search Path đó bạn mình thích dùng từ Việt hoá vậy.

-Bạn biết cách làm hiển thị Toolbar trong cad chưa?

-Menu để coi cho biết cấu trúc viết chứ bạn có dùng được các lisp đâu mà hạn chế với chả không. Mình cố ý vieết tiêngếng việt không dấu vì dùng cho nhiều người.

-Cách viết thì mình đã nói xem nội dung file mns là viết được ngay.

*Hôm nào mình sẽ cập nhật chức năng biên tập Toobar vào lisp biê tập menu. (Cái này là dự án ương lai).

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
NvThanh    1

Ý tôi là trong file *.mns có thể hiện tiếng việt có dấu được không, nếu không đây là hạn chế mà, chứ không phải sử dụng không sử dụng được lệnh ^^

Nhờ bác hướng dẫn cụ thể cách làm hiển thị Toolbar trong cad./.

Cảm ơn nhiều !

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
duy782006    1.374

Ý tôi là trong file *.mns có thể hiện tiếng việt có dấu được không, nếu không đây là hạn chế mà, chứ không phải sử dụng không sử dụng được lệnh ^^

Nhờ bác hướng dẫn cụ thể cách làm hiển thị Toolbar trong cad./.

Cảm ơn nhiều !

-Để viết tiếng việt có dấu cho menu thì bạn tìm bài iết của bác Đoàn Văn Hà về chuyện này xem.

-Để hiển thị Toolbar trong cad:

+Menuload file mns lên.

+Trong cad kích chuột phải vào vùng trống trên nơi chứa Toobar của cad nó hiển thị tất cả các tên Toobar hiện đã được load. bạn rê chuột vào chử tên của Toobar muốn hiển thị nó sẽ kê ra 1 loạt các toobar con, bạn chọn cái nào thị cái đó hiển thị lên.

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
nvson    4

Nhân tiện các bạn cho hỏi:

Tôi đã tạo menu của AutoCAD bằng VB.NET (rồi dịch ra dll).

Sau đó Autoload NETLOAD file dll chứa thủ tục tạo menu lúc AutoCAD khởi động.

Các bạn cho hỏi cách load thủ tục tạo menu trong file đó, Chạy AutoCAD là menu tự load?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Detailing    278

Nhân tiện các bạn cho hỏi:

Tôi đã tạo menu của AutoCAD bằng VB.NET (rồi dịch ra dll).

Sau đó Autoload NETLOAD file dll chứa thủ tục tạo menu lúc AutoCAD khởi động.

Các bạn cho hỏi cách load thủ tục tạo menu trong file đó, Chạy AutoCAD là menu tự load?

Bạn tạo menu bằng VB.NET như thế nào? có thể nói sơ qua dc ko?

Không biết bạn tạo như thế nào thì sao biết load nó ra sao :D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
nvson    4

Hi,

Tôi tạo class library trong VB.NET

Và đây là code để tạo menu:

 

<CommandMethod("AddmenuGeoTools")> _

Public Sub AddMenuGeoTools()

Try

Dim Acad

Acad = GetObject(, "AutoCad.Application")

Dim currMenuGroup As Object

currMenuGroup = Acad.MenuGroups.Item(0)

' Create the new menu

Dim newMenu As Object

newMenu = currMenuGroup.Menus.Add("Geo Tools")

' Add the submenu

Dim FileSubMenu As Object

 

' Add a menu item to the new menu

Dim newMenuItem As Object

Dim openMacro As String

FileSubMenu = newMenu.AddSubMenu("", "Print...")

' Add a separator

newMenu.AddSeparator(newMenu.Count)

openMacro = Chr(3) & Chr(3) & Chr(95) & "Print_1" & Chr(32)

newMenuItem = FileSubMenu.AddMenuItem(newMenu.Count + 1, "Print 1", openMacro)

'Help About

openMacro = Chr(3) & Chr(3) & Chr(95) & "Helpnvson" & Chr(32)

newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, "Help About", openMacro)

' Display the menu on the menu bar

newMenu.InsertInMenuBar(Acad.MenuBar.Count + 1)

Catch

End Try

End Sub

 

 

Sau khi biên dịch ra dll, tôi dùng registry để tự động load file dll này khi AutoCAD khởi động.

Vấn đề là AutoCAD chỉ load file DLL này thôi chứ không thực hiện lệnh tạo menu mặc dù tôi đã cho lệnh này vào trong thủ tục Startup trong file acad2011.lsp

 

(defun S::STARTUP()

(command "_.AddMenuGeoTools")

)

 

Các bác chỉ giúp cách mở AutoCAD là lệnh tạo menu tự chạy nhé? Thanks

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Detailing    278

Hi,

Tôi tạo class library trong VB.NET

Và đây là code để tạo menu:

 

 

 

Sau khi biên dịch ra dll, tôi dùng registry để tự động load file dll này khi AutoCAD khởi động.

Vấn đề là AutoCAD chỉ load file DLL này thôi chứ không thực hiện lệnh tạo menu mặc dù tôi đã cho lệnh này vào trong thủ tục Startup trong file acad2011.lsp

 

Các bác chỉ giúp cách mở AutoCAD là lệnh tạo menu tự chạy nhé? Thanks

class của bạn phải Implements IExtensionApplication

 

 

Add cái này AddMenuGeoTools() vào sub sau

Public Sub Initialize() Implements Autodesk.AutoCAD.Runtime.IExtensionApplication.Initialize
     AddMenuGeoTools()            
End Sub

 

Có thể bỏ command method đi (vì ko cần xài) Bỏ phần này: <CommandMethod("AddmenuGeoTools")> _

p/s: ko cần bỏ vào startup trong acadXXXX.lsp

Good luck!

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
nvson    4

Trước hết xin cảm ơn bác Detailing, Tôi đã làm đúng như bác chỉ dẫn:

Trong AutoCAD nếu NETLOAD file DLL thủ công (dùng lệnh netload) thì menu được hiển thị NHƯNG nếu làm tự động (chạy qua REGISTER hoặc STARTUP) thì menu lại không hiển thị.

Nhờ bác chỉ giúp cách làm tự động.

Thanks,

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Detailing    278

Trước hết xin cảm ơn bác Detailing, Tôi đã làm đúng như bác chỉ dẫn:

Trong AutoCAD nếu NETLOAD file DLL thủ công (dùng lệnh netload) thì menu được hiển thị NHƯNG nếu làm tự động (chạy qua REGISTER hoặc STARTUP) thì menu lại không hiển thị.

Nhờ bác chỉ giúp cách làm tự động.

Thanks,

Câu hỏi này ko khó đối với bạn nên mình sẽ hướng dẫn bạn cách tìm ra lỗi.Trước hết bạn add register để chương trình tự load sau đó bạn debug chương trình sẽ hiểu vì sao nó ko load dc. Nhớ đặt break point tại dòng Try

Nếu muốn biết lỗi sinh ra là gì bạn sửa phần Catch của code thành

Catch ex As Exception
    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog(ex.Message)
End Try

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
nvson    4

Hi Detailing,

Nếu chạy AutoCad trước, sau đó đánh lệnh NETLOAD thì tạo được menu (KHÔNG CÓ THÔNG BÁO LỖI)

Nếu Register vào Registry để cho AutoCAD tự động load thì hiện thông báo lỗi:

"Cannot create ActiveX component".

Nhờ bác chỉ giúp cách khắc phục.

Dưới đây là code mà tôi dùng để tạo menu:

Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry
Imports Microsoft.Win32
Imports System.Reflection
Imports System.IO
<Assembly: ExtensionApplication(GetType(AutoLoad))>
Public Class AutoLoad
Implements IExtensionApplication
Public Sub Initialize() Implements IExtensionApplication.Initialize
   	AddMenuGeoTools()
End Sub
Public Sub Terminate() Implements IExtensionApplication.Terminate
End Sub
Protected Overrides Sub Finalize()
   	MyBase.Finalize()
End Sub
<CommandMethod("AddmenuGeoTools")> _
Public Sub AddMenuGeoTools()
   	Dim Acad
   	Try
       	[color=#ff0000][b]Acad = GetObject(, "AutoCad.Application")[/b][/color]
       	Dim currMenuGroup As Object
       	currMenuGroup = Acad.MenuGroups.Item(0)
       	MsgBox("nvson")
       	' Create the new menu
       	Dim newMenu As Object
       	newMenu = currMenuGroup.Menus.Add("Geo Tools")
       	' Add the submenu
       	Dim FileSubMenu As Object

       	' Add a menu item to the new menu
       	Dim newMenuItem As Object
       	Dim openMacro As String
       	FileSubMenu = newMenu.AddSubMenu("", "Print...")
       	' Add a separator
       	newMenu.AddSeparator(newMenu.Count)
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "Print_Boreholes" & Chr(32)
       	newMenuItem = FileSubMenu.AddMenuItem(newMenu.Count + 1, "In từ hình trụ thứ 1 đến thứ i", openMacro)
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "Print_Borehole" & Chr(32)
       	newMenuItem = FileSubMenu.AddMenuItem(newMenu.Count + 1, "In từ hình trụ thứ i đến thứ j", openMacro)
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "Print_Boreholes_Point" & Chr(32)
       	newMenuItem = FileSubMenu.AddMenuItem(newMenu.Count + 1, "Chọn các điểm bên trong hình trụ cần in", openMacro)
       	'Print Frame
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "Print_Frame" & Chr(32)
       	newMenuItem = FileSubMenu.AddMenuItem(newMenu.Count + 1, "Theo đối tượng KHUNG", openMacro)
       	'Print Array
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "Print_Array" & Chr(32)
       	newMenuItem = FileSubMenu.AddMenuItem(newMenu.Count + 1, "Theo mảng đối tượng", openMacro)
       	'Boring logs
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "nklk" & Chr(32)
       	newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, "Hình trụ lỗ khoan", openMacro)
       	'Mat cat DCCT
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "mc" & Chr(32)
       	newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, "Mặt cắt địa chất công trình", openMacro)
       	'Ly trinh
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "lytrinh" & Chr(32)
       	newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, "Lý trình theo mặt cắt", openMacro)
       	'InsertLK (theo tọa độ file Excel
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "Insert_LK" & Chr(32)
       	newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, "Chèn vị trí lỗ khoan vào bình đồ theo tọa độ", openMacro)
       	'Chèn vị trí lỗ khoan theo lý trình Km...
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "station_LK" & Chr(32)
       	newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, "Chèn vị trí lỗ khoan vào bình đồ theo lý trình", openMacro)
       	' Add a separator
       	newMenu.AddSeparator(newMenu.Count)
       	'Register Product
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "Registernvson" & Chr(32)
       	newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, "Register Product...", openMacro)
       	'Help About
       	openMacro = Chr(3) & Chr(3) & Chr(95) & "Helpnvson" & Chr(32)
       	newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, "Help About", openMacro)
       	' Display the menu on the menu bar
       	newMenu.InsertInMenuBar(Acad.MenuBar.Count + 1)
       	''Catch ex As Exception
       	''Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog(ex.Message)
   	Catch
       	MsgBox(Err.Description)
   	End Try
End Sub
<CommandMethod("RemoveMenuGeoTools")> _
Public Sub removeMenu()
   	'this macro removes the submenu created by the addMenuItem macro
   	Dim Acad
   	Try
       	Acad = GetObject(, "AutoCad.Application")
       	Dim oPopup As Object
       	''Dim oPopupItem As Object
       	For Each oPopup In Acad.MenuBar
           	If oPopup.TagString = "ID_mnuGeo Tools" Then
               	oPopup.RemoveFromMenuBar()
               	'oPopup.Delete
           	End If
           	'MsgBox oPopup.TagString
       	Next oPopup
   	Catch
   	End Try
End Sub
<CommandMethod("RegisterMyApp1")> _
   	Public Sub RegisterMyApp()
   	'' Get the AutoCAD Applications key
   	Dim sProdKey As String = HostApplicationServices.Current.RegistryProductRootKey
   	Dim sAppName As String = "GeoTools1"
   	Dim regAcadProdKey As RegistryKey = Registry.CurrentUser.OpenSubKey(sProdKey)
   	Dim regAcadAppKey As RegistryKey = regAcadProdKey.OpenSubKey("Applications", True)
   	'' Check to see if the "MyApp" key exists
   	Dim subKeys() As String = regAcadAppKey.GetSubKeyNames()
   	For Each sSubKey As String In subKeys
       	'' If the application is already registered, exit
       	If (sSubKey.Equals(sAppName)) Then
           	regAcadAppKey.Close()
           	Exit Sub
       	End If
   	Next
   	'' Get the location of this module
   	Dim sAssemblyPath As String = Assembly.GetExecutingAssembly().Location
   	'' Register the application
   	Dim regAppAddInKey As RegistryKey = regAcadAppKey.CreateSubKey(sAppName)
   	regAppAddInKey.SetValue("DESCRIPTION", sAppName, RegistryValueKind.String)
   	regAppAddInKey.SetValue("LOADCTRLS", 14, RegistryValueKind.DWord)
   	regAppAddInKey.SetValue("LOADER", sAssemblyPath, RegistryValueKind.String)
   	regAppAddInKey.SetValue("MANAGED", 1, RegistryValueKind.DWord)
   	regAcadAppKey.Close()
End Sub
<CommandMethod("UnregisterMyApp1")> _
Public Sub UnregisterMyApp()
   	'' Get the AutoCAD Applications key
   	Dim sProdKey As String = HostApplicationServices.Current.RegistryProductRootKey
   	Dim sAppName As String = "GeoTools1"
   	Dim regAcadProdKey As RegistryKey = Registry.CurrentUser.OpenSubKey(sProdKey)
   	Dim regAcadAppKey As RegistryKey = regAcadProdKey.OpenSubKey("Applications", True)
   	'' Delete the key for the application
   	regAcadAppKey.DeleteSubKeyTree(sAppName)
   	regAcadAppKey.Close()
End Sub

End Class

 

Thanks,

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Detailing    278

Hi Detailing,

Nếu chạy AutoCad trước, sau đó đánh lệnh NETLOAD thì tạo được menu (KHÔNG CÓ THÔNG BÁO LỖI)

Nếu Register vào Registry để cho AutoCAD tự động load thì hiện thông báo lỗi:

"Cannot create ActiveX component".

Nhờ bác chỉ giúp cách khắc phục.

Dưới đây là code mà tôi dùng để tạo menu:

   <CommandMethod("RegisterMyApp1")> _
   	Public Sub RegisterMyApp()
   	'' Get the AutoCAD Applications key
   	Dim sProdKey As String = HostApplicationServices.Current.RegistryProductRootKey
   	Dim sAppName As String = "GeoTools1"
   	Dim regAcadProdKey As RegistryKey = Registry.CurrentUser.OpenSubKey(sProdKey)
   	Dim regAcadAppKey As RegistryKey = regAcadProdKey.OpenSubKey("Applications", True)
   	'' Check to see if the "MyApp" key exists
   	Dim subKeys() As String = regAcadAppKey.GetSubKeyNames()
   	For Each sSubKey As String In subKeys
       	'' If the application is already registered, exit
       	If (sSubKey.Equals(sAppName)) Then
           	regAcadAppKey.Close()
           	Exit Sub
       	End If
   	Next
   	'' Get the location of this module
[color=#ff0000]    	Dim sAssemblyPath As String = Assembly.GetExecutingAssembly().Location[/color]
   	'' Register the application
   	Dim regAppAddInKey As RegistryKey = regAcadAppKey.CreateSubKey(sAppName)
   	regAppAddInKey.SetValue("DESCRIPTION", sAppName, RegistryValueKind.String)
   	regAppAddInKey.SetValue("LOADCTRLS", 14, RegistryValueKind.DWord)
   	regAppAddInKey.SetValue("LOADER", [color=#ff0000]sAssemblyPath[/color], RegistryValueKind.String)
   	regAppAddInKey.SetValue("MANAGED", 1, RegistryValueKind.DWord)
   	regAcadAppKey.Close()
End Sub

Chào bạn,

Bạn định nghĩa event CommandEnded rồi gọi sub AddMenuGeoTools trong đó.

p/s: Bạn nhớ lọc Global command name là COMMANDLINE hay RIBBON hay REGEN, ... và tạo và lưu Flag isLoaded để nó khỏi load tiếp khi đã có rồi.

Chú ý: Nếu user ko xài command palette và ribbon thì load ko dc menu vào. Để tránh trường hợp đó bạn dùng lisp gọi hàm lên bằng command regen

Đó là 1 cách, mình nghĩ sẽ còn nhiều cách khác. Bạn kiểm tra lại biến sAssemblyPath trong sub RegisterMyApp

Good luck!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
duy267    7

Mình thì không biết VB.net hay C#

Mình thấy Icon tạo bằng lệnh Cui của CAD đâu có lằng nhằng chi đâu bạn?

Bạn có thể tìm kiếm trên diễn đàn CADVIET. Có 1 số bài nói về cái này rồi.

 

 

Anh Tuệ, anh Duy và các anh em có thể hướng dẫn cách tạo các icon không vì em cũng thử dùng lệnh CUI mà không thể tạo các icon cho riêng mình. Xin cảm ơn.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
duy267    7

 

tccduy.jpg

 

 

Em đã tạo được Icon bằng phần mểm Icon Craft nhưng hình ảnh bị bể, không sắc nét(kích thước 16x16). Anh Duy tạo bằng phần mềm gì mà thấy Icon đẹp quá có thể cho em biết được không. Cảm ơn anh.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Tue_NV    3.841

Em đã tạo được Icon bằng phần mểm Icon Craft nhưng hình ảnh bị bể, không sắc nét(kích thước 16x16). Anh Duy tạo bằng phần mềm gì mà thấy Icon đẹp quá có thể cho em biết được không. Cảm ơn anh.

 

Mình thì tạo các Image bằng phần mềm AutoCAD (Các menu chứa image trong bài #4 của mình trong topic này)

Lệnh cui có chức năng tạo Image đó

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
duy267    7

Thì cụ thể là cứ tạo Toolbar với các icon vẽ vời ok hết đi (theo mình thì lạo nó khác acad để ko ảnh hưởng tới anh cad gốc nhà ta), khi copy đi máy khác thì ko cần copy các icontheo mà chỉ cần copy *.mnr (file này được tự động tạo ra) đi là có icon thôi.

 

Em đã tạo Menu và xuất ra được File *.Cui và File*. mnr nhưng khi mang 2 File đó sang máy khác thì không còn nhận ra các Icon nửa, các icon biến thành dấu hỏi. Em đã làm sai bước nào? Anh em nào biết xin chỉ giúp. Cảm ơn nhiều.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
nguyenbd1    13

có cách nào ko copy cac file .bmp vào trong file setup cad mà vẫn load lên dc ko. y em nój ở đây là cáj toobar bác duy vjết đó

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay


×