也是老帖,日期2010.11.27,首发新浪博客,作者本人。
这个是上周我学习中的结果之一,首先想到的是开发者大会上说二次开发者可以把自己的二次开发产品放到欧德克提供的网站上去给全世界的人卖,那么这个对Revit语言版本是肯定要判断的,判断后对UI进行相关的初始化别到时候给外国人出一堆中国字(还有可能是乱码),所以就放到博客中,希望对看到的人有帮助。
VB.NET版本
全局变量定义
Public RevitApplication As Autodesk.Revit.UI.UIApplication
Public Function Execute(ByVal ExternalCommandData AsAutodesk.Revit.UI.ExternalCommandData,
ByRefmessage As String, ByVal ElementSet AsAutodesk.Revit.DB.ElementSet)
AsAutodesk.Revit.UI.Result ImplementsAutodesk.Revit.UI.IExternalCommand.Execute
RevitApplication = ExternalCommandData.dData.Application
End Function
Private Sub CheckRevitLanguageType()’私有检测Revit语言版本过程
Dim LanguageType AsAutodesk.Revit.ApplicationServices.LanguageType
LanguageType = RevitApplication .Application.Language
'中文版_简体
If LanguageType =ApplicationServices.LanguageType.Chinese_Simplified Then
'此处将UI初始化为中文版_简体
'英文_美
ElseIf LanguageType = ApplicationServices.LanguageType.English_USAThen
'此处将UI初始化为英文_美
Else
End If
End Sub
C#版本
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Autodesk.Revit;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.ApplicationServices;
namespace CheckRevitLanguageType
{
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
[Autodesk.Revit.Attributes.Regeneration(Autodesk.Revit.Attributes.RegenerationOption.Manual)]
[Autodesk.Revit.Attributes.Journaling(Autodesk.Revit.Attributes.JournalingMode.NoCommandData)]
public classCommand : Autodesk.Revit.UI.IExternalCommand
{
public static Autodesk.Revit.UI.UIApplication UIApplication;//Revit.ApplicationServices.Application 'Revit.Application
public static Autodesk.Revit.DB.Document RevitDocument;
public Autodesk.Revit.ApplicationServices.LanguageTypeLanguageType;
public Autodesk.Revit.UI.Result Execute(ExternalCommandDatacommandData,
ref string message, Autodesk.Revit.DB.ElementSet elements)
{
UIApplication = commandData.Application;
RevitDocument =commandData.Application.ActiveUIDocument.Document;
LanguageType = UIApplication.Application.Language;
if (LanguageType== Autodesk.Revit.ApplicationServices.LanguageType.Chinese_Simplified)
{
MessageBox.Show("中文_简体");
}
else if (LanguageType ==Autodesk.Revit.ApplicationServices.LanguageType.English_USA)
{
MessageBox.Show("英文_美国");
}
else
{
MessageBox.Show("其它");
}
return Autodesk.Revit.UI.Result.Succeeded;
}
}
}
|