Quantcast
Channel: Manufacturing DevBlog
Viewing all articles
Browse latest Browse all 518

Copy material to another library

$
0
0

By Adam Nagy

This is quite similar to the solution shown here, with the main difference being that instead of adding the material to the document's library, we add it to another external library.

Let's say that my custom library is called "MyLibrary" and we want to add the material "Copper" to it. Then this VBA code should do the trick:

Sub CopyMaterialToMyLibrary()
  Dim oDoc As PartDocument
  Set oDoc = ThisApplication.ActiveDocument
  Dim assetLibs As AssetLibraries
  Set assetLibs = ThisApplication.AssetLibraries
  Dim Name As String
  Name = "Copper"
  Dim localAsset As Asset
  On Error Resume Next
  Set localAsset = oDoc.Assets.Item(Name)
  Dim assetLib As AssetLibrary' Use name ...'Set assetLib = assetLib("Autodesk Material Library")' ... or ID
  Set assetLib = assetLibs("AD121259-C03E-4A1D-92D8-59A22B4807AD")
  Dim myAssetLib As AssetLibrary
  Set myAssetLib = assetLibs("MyLibrary")' Get an asset in the library
  Dim libAsset As Asset
  Set libAsset = assetLib.MaterialAssets(Name)' Copy the asset to the other library
  Set localAsset = libAsset.CopyTo(myAssetLib)
End Sub

Result:

Mylibrary

 


Viewing all articles
Browse latest Browse all 518

Trending Articles