Parameters
- name
- Name of new workspace
- workdesk
- Original workdesk
- templatePath
- Path to the template file (*.hxwst).
Return Value
Derived workspace
Exception | Description |
---|---|
EPLAN.Harness.API.Exceptions.ObjectInvalidException | The object is in invalid state. Obtain a new one. |
EPLAN.Harness.API.Exceptions.InternalErrorException | Internal error of HpD or HpD API. IMPORTANT: Throwing this exception changes HpD Api's state to Failed. |
EPLAN.Harness.API.Exceptions.LicensingErrorException | This operation was denied because of your license. |
EPLAN.Harness.API.Exceptions.ArgumentException | Argument is invalid. The exception is thrown when a wrong argument is passed to the method or the setter of property. |
EPLAN.Harness.API.Exceptions.ArgumentNullException | Argument is null. |
EPLAN.Harness.API.Exceptions.FileNotFoundException | This file was not found. |
EPLAN.Harness.API.Exceptions.FileExtensionException | The exception that is thrown when the file has the wrong extension. |
EPLAN.Harness.API.Exceptions.FileOpenedAsReadOnlyException | You can not perform this action on a document opened as read only. |
EPLAN.Harness.API.Exceptions.DuplicateNameException | Workspace with this name already exists. |
Original workdesk is NOT deleted.
New workspace has the same content inside as the original workdesk.
// API is a singleton. HpdApi api = HpdApi.GetInstance(); // Initialize API and load HpD. api.Init(); // Open a project. Project project = api.OpenProject("path to my project"); // Open a variant. // Let's assume there is only one variant in the project, so we simply pick it. Variant variant = project.GetVariants().FirstOrDefault(); // Find a workdesk with name "MyWorkdesk". // For simplicity let us assume we know for sure that workdesk with this name does exist. Workdesk workdesk = variant.GetWorkdesks().Where(n => n.Name == "MyWorkdesk").FirstOrDefault(); // Workdesk must be opened. workdesk.Open(false, false); // Create new workspace. Workspace newWorkspace = variant.CreateWorkspaceFromWorkdesk("New workspace name", workdesk); // Close the workdesk. workdesk.Close(); // Save the project. project.Save();