Na potrzeby programowania przy użyciu interfejsu COM podpora węzłowa posiada właściwości „ReferenceSystem” oraz „UserDefinedReferenceSystem”. „ReferenceSystem“ umożliwia zdefiniowanie typu układu współrzędnych zdefiniowanego przez użytkownika (na przykład „Obrócony“ lub „Układ współrzędnych“), który w zależności od wybranego typu jest następnie definiowany poprzez „UserDefinedReferenceSystem“.
W poniższym przykładzie jako typ został ustawiony "Układ współrzędnych", a dla niego również został utworzony układ współrzędnych:
//utwórz układ współrzędnych zdefiniowany przez użytkownikaIGuideObjects iGuide = iModel.GetGuideObjects ();
//usuń przytulny nr 2csList = iGuide.GetCoordinateSystems ();if (csList.Length > 1){for (int i = 0; i <csList.Length; ++ i){if (csList[i].No == 2){iGuide.PrepareModification ();iGuide.DeleteObjects (GuideObjectType.CoordinateSystemObject, "2");iGuide.FinishModification ();}}}
//zdefiniuj nowy przytulny nr 2uC systemu współrzędnych użytkownika = new UserCoordinateSystem ();uCs.Name = "test";uCs.Comment = "test";uCs.No = 2;uCs.IsValid = prawda;
uCs.Origin.X = 1;uCs.Origin.Y = 0;uCs.Origin.Z = 1;
uCs.Punkt1.X = 2;uCs.Point1.Y = 0;uCs.Punkt1.Z = 1;
uCs.Punkt2.X = 1;uCs.Punkt2.Y = 1;uCs.Punkt2.Z = 2;
//ustaw przytulny nr 2iGuide.PrepareModification ();iGuide.SetCoordinateSystem (uCs);iGuide.FinishModification ();
//utworzenie podpory węzłowej ze zdefiniowaną przez użytkownika funkcją cosyNodalSupport ns = nowy NodalSupport ();
ns.SupportConstantX = -1;ns.SupportConstantY = -1;ns.SupportConstantZ = -1;
ns.RestraintConstantX = -1;ns.RestraintConstantY = 0;ns.RestraintConstantZ = -1;
ns.Comment = "przytulne zdefiniowane przez użytkownika";ns.NodeList = "1";ns.ReferenceSystem = ReferenceSystemType.UserDefinedSystemType;
ns.UserDefinedReferenceSystem.ObjectNo = 2;ns.UserDefinedReferenceSystem.Type = UserDefinedAxisSystemType.DefinedCoordinateSystemType;
iModData.PrepareModification();iModData.SetNodalSupport(ns);iModData.FinishModification();
Aby utworzyć układ współrzędnych, wymagany jest interfejs dla obiektów pomocniczych: 'IGuideObjects'. Dzięki funkcji „DeleteObjects ()” najpierw usuwany jest istniejący układ współrzędnych o numerze 2, a następnie tworzony za pomocą funkcji „SetCoordinateSystem (). Proszę zwrócić uwagę na blok "Przygotowanie/wykończenie-modyfikacja", aby móc przenieść nowy element.
Podpora węzłowa jest przenoszona przez interfejs "IModelData". Ponownie, wymagany jest blok "Przygotowanie/zakończenie-modyfikacji".