程序效果:
创建圆柱体Image.png
void test()
    {
        Tag tag;
        Double[] pos = new Double[] { 0, 0, 0};
        Double[] dir = new Double[] { 0, 0, 1};
        UFModl uf_modl = UFSession.GetUFSession().Modl;
        uf_modl.CreateCyl1(FeatureSigns.Nullsign, pos, “50”, “20”, dir, out tag);
    }
    public Program()
    {
        try
        {
            theSession = Session.GetSession();
            theUI = UI.GetUI();
            theUfSession = UFSession.GetUFSession();
            isDisposeCalled = false;
            test();
        }
        catch (NXOpen.NXException ex)
        {
            // —- Enter your exception handling code here —–
            // UI.GetUI().NXMessageBox.Show(“Message”, NXMessageBox.DialogType.Error, ex.Message);
        }
    }
以上为关键程序段,test函数可以生成1个圆柱体.
创建立方体的函数为CreateCyl1()该方法是uf_modl类的方法,要使用该方法,前提是有一个已经定义的uf_modl类,本例子的获取方法为UFSession.GetUFSession().Modl;
CreateCyl1()的参数如下所示:
public void CreateCyl1 (FeatureSigns sign,double[] origin,string height,string diam,double[] direction,out Tag cyl_obj_id)
sign为特征标志,目前没研究出来是干啥的,至少在上面那个程序里,使用Nullsign,Unite,Subtract,Intersect作为参数分别试过,没发现有什么区别
origin为坐标位置,为一个double类型的有3个成员的数组,分别是XYZ,基于绝对坐标CSYS
height为圆柱体高度,为一个string类型,其内容可以是一个常数或者一个简单的计算式
diam为圆柱体的直径,为一个string类型,其内容可以是一个常数或者一个简单的计算式
direction为圆柱体的朝向向量,是一个double类型的有3个成员的数组,分别是XYZ,例如Z为1的话圆柱体朝向为Z+,Z为-1的话圆柱体朝向Z-
cyl_obj_id为返回的圆柱体id,目前还不知道有啥用,前面创建个Tag tag赋值进去就行.