**问题:**创建基于标高的族实例,利用NewFamilyInstance(cureve/new xyz, familysymbol,level,structuraltype)方法创建后,实例不在对应于设置的level上,而在0标高处。
问题代码:
Line span = Line.CreateBound(new XYZ(1, 1, 0), new XYZ(2, 2, 0));
FamilyInstance familyInstance = doc.Create.NewFamilyInstance(span, familysymbol, firlevel, StructuralType.Beam);
简单的说由于我的xyz点引用的是之前设置的点不含Z坐标,Z坐标为0,因此基于线画的线族实例由于定位点z坐标和level有冲突,于是只画在了0位置处。
改变:
Line span = Line.CreateBound(new XYZ(1, 1, levelValue), new XYZ(2, 2, levelValue));
FamilyInstance familyInstance = doc.Create.NewFamilyInstance(span, familysymbol, firlevel, StructuralType.Beam);
将定位线或点的Z坐标和level统一即可解决问题。