public void FrameNamingTest() { var provider = new AmlDocument(); var frame = new FrameProperty(provider); Assert.Equal("Frame", frame.Name); }
public void LoadTest() { var document = CAEXDocument.LoadFromFile(@"D:\test.aml"); var provider = new AmlDocument(document); var ie = document.CAEXFile.InstanceHierarchy.First().InternalElement.First(); var factory = new KinematicFactory(); var kinematic = factory.Create <Kinematic>(ie, provider); }
public void Test1() { const string asm1Name = "Slider"; const string asm2Name = "Bed Assembly"; const string part1Name = "Base"; const string part2Name = "Bed"; const string part3Name = "Flange"; var doc = new AmlDocument(); var project = new ProjectViewModel(doc); doc.CaexDocument.CAEXFile.InstanceHierarchy.Insert(project.CaexObject as InstanceHierarchyType); var asm1 = new AssemblyViewModel(doc) { Name = asm1Name }; var asm2 = new AssemblyViewModel(doc) { Name = asm2Name }; var part1 = new PartViewModel(doc) { Name = part1Name }; var part2 = new PartViewModel(doc) { Name = part2Name }; var part3 = new PartViewModel(doc) { Name = part3Name }; project.Parts.Add(asm1); asm1.Parts.Add(asm2); asm1.Parts.Add(part1); asm2.Parts.Add(part2); asm2.Parts.Add(part3); var stream = doc.CaexDocument.SaveToStream(true); var caex = CAEXDocument.LoadFromStream(stream); var doc2 = new AmlDocument(caex); var ih = doc2.CaexDocument.CAEXFile.InstanceHierarchy.First; var vm = new ProjectViewModel(ih, doc2); }
public void SerDesTest() { var provider = new AmlDocument(); var expected = new KinematicJointValue(provider) { Name = "foobar", Value = 1d, DefaultValue = 3d, Minimum = -10d, Maximum = 20d }; var value = new KinematicJointValue((AttributeType)expected.CaexObject, provider); Assert.Equal(expected.Name, value.Name); Assert.Equal(expected.Value, value.Value); Assert.Equal(expected.Minimum, value.Minimum); Assert.Equal(expected.Maximum, value.Maximum); var ie = provider.CaexDocument.Create <InternalElementType>(); var ih = provider.CaexDocument.Create <InstanceHierarchyType>(); ie.Attribute.Insert((AttributeType)expected.CaexObject); ih.InternalElement.Insert(ie); provider.CaexDocument.CAEXFile.InstanceHierarchy.Insert(ih); var fullPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); provider.CaexDocument.SaveToFile(fullPath, true); var d = CAEXDocument.LoadFromFile(fullPath); var p = new AmlDocument(d); File.Delete(fullPath); value = new KinematicJointValue(d.CAEXFile.InstanceHierarchy.First().InternalElement.First().Attribute.First(), provider); Assert.Equal(expected.Name, value.Name); Assert.Equal(expected.Value, value.Value); Assert.Equal(expected.Minimum, value.Minimum); Assert.Equal(expected.Maximum, value.Maximum); }
public void SetDhParameterMatrixTest() { var document = new AmlDocument(); const double expectedTheta = 0; const double expectedD = 0; const double expectedA = 290; const double expectedAlpha = -90; var frame = new FrameProperty(document); frame.SetDhParameters(expectedTheta, expectedD, expectedA, expectedAlpha); frame.ComputeDhParameter(out var theta, out var d, out var a, out var alpha); Assert.Equal(expectedTheta, theta, 6); Assert.Equal(expectedD, d, 6); Assert.Equal(expectedA, a, 6); Assert.Equal(expectedAlpha, alpha, 6); }
public void SerDesTest() { // create view model var provider = new AmlDocument(); var link = new KinematicLink(provider); var flange = new Flange(provider); flange.Type = FlangeType.Base; flange.Frame.SetDhParameters(0, 10, 0, 90); link.Flanges.Add(flange); // get model var model = link.CaexObject as InternalElementType; // create new view model based on model var link2 = new KinematicLink(model, provider); // compare Assert.Equal(link.Flanges.Count, link2.Flanges.Count); }
public void FactoryTest() { var provider = new AmlDocument(); var expected = new KinematicJointValue(provider) { Name = "foobar", Value = 1d, DefaultValue = 3d, Minimum = -10d, Maximum = 20d }; var ie = provider.CaexDocument.Create <InternalElementType>(); ie.Attribute.Insert((AttributeType)expected.CaexObject); Assert.Equal(1, ie.Attribute.Count); var viewModel = new InternalElementViewModel(ie, provider); var values = new ViewModelCollection <KinematicJointValue>(ie.Attribute, viewModel); Assert.Single(values); Assert.Equal(typeof(KinematicJointValue), values.First().GetType()); }