''插件引用
Imports Spire.Doc
Imports Spire.Barcode
Imports System.Drawing
'' 原因:Solidworks 自制插件。(增加条形码)
'' 目前已测试ok,但是无法安装至其他电脑中
''要求:请提供详细的插件导出及发布流程,请发到邮箱 pbb616214@163.com,谢谢!
测试效果如下图:
'' 结帖,问题已解决,主要问题是在注册表上,请制作插件的兄弟注意注册表一定要存在和一至
'' 下面附上条形码生成源码,有需要的兄弟可以参考一下或直接联系我
Imports SolidWorksTools.File
Imports Spire.Doc '此处请下载spirebarcode DLL
Imports Spire.Barcode '此处请下载spirebarcode DLL
Imports System.Drawing
Sub CreateCube()
'Open solidowrks, get the project number and article number
Dim swApp As SldWorks.SldWorks
swApp = CreateObject("sldworks.application")
Dim Part As SldWorks.ModelDoc2
Part = swApp.ActiveDoc
Dim swModelDocext As SldWorks.ModelDocExtension
Dim swCustProp As SldWorks.CustomPropertyManager
Dim val_Pro As String = ""
Dim val_Art As String = ""
Dim valout_Pro As String = ""
Dim valout_Art As String = ""
Dim bool_Pro As Boolean
Dim bool_Art As Boolean
swModelDocext = Part.Extension
swCustProp = swModelDocext.CustomPropertyManager("")
bool_Pro = swCustProp.Get4("HELPRO_NR", False, val_Pro, valout_Pro) 'HELPRO_NR 是属性的名称,请按实际更改
bool_Art = swCustProp.Get4("HELPRT_NR", False, val_Art, valout_Art) 'HELPRT_NR 是属性的名称,请按实际更改
MsgBox("Project number:" & Space(2) & valout_Pro & "" & vbCrLf & "" & "" & vbCrLf & "" & "Article number:" & Space(2) & val_Art)
' get the project numer(Without"-A"), 此处“Value_Pro” 可省略
Dim Value_Pro As String
Value_Pro = valout_Pro.Substring(0, InStr(valout_Pro, "-") - 1)
' create barcode
Dim settings As New BarcodeSettings()
settings.Type = BarCodeType.Code128
settings.Data = Value_Pro & "_" & valout_Art
' MsgBox(settings.Data)
' MsgBox("ok")
settings.Data2D = Value_Pro & "_" & valout_Art
settings.UseChecksum = CheckSumMode.ForceEnable
settings.ShowTextOnBottom = False
settings.TextAlignment = StringAlignment.Center
settings.ShowText = True
settings.TextFont = New System.Drawing.Font("Arial", 15, FontStyle.Regular)
settings.BarHeight = 15
settings.X = 0.9F
settings.HasBorder = True
settings.BorderWidth = 0.6F
settings.BorderColor = Color.AliceBlue
settings.BackColor = Color.Wheat
Dim barCodeGenerator As New BarCodeGenerator(settings)
Dim image As Image = barCodeGenerator.GenerateImage()
'save picture
image.Save("(引号内请更改成你需要的路径)", System.Drawing.Imaging.ImageFormat.Png)
Dim im As Image = Image.FromFile("(此路径和上面一致)")
Dim bmp As Image = New Bitmap(im)
im.Dispose()
System.Windows.Forms.Clipboard.SetDataObject(bmp, True)
Part.Paste()
End Sub