static void Start() { objectPreviews = new Dictionary <Guid, ObjectPreviewServer>(); using (var service = ExternalServiceRegistry.GetService(ExternalServices.BuiltInExternalServices.DirectContext3DService) as MultiServerService) { var activeServerIds = service.GetActiveServerIds(); foreach (var o in ActiveDocument.Objects) { if (!ObjectPrimitive.IsSupportedObject(o, true)) { continue; } var preview = new ObjectPreviewServer(o); var serverId = preview.GetServerId(); objectPreviews.Add(serverId, preview); service.AddServer(preview); activeServerIds.Add(serverId); } service.SetActiveServers(activeServerIds); } Revit.RefreshActiveView(); }
public Result Execute(ExternalCommandData data, ref string message, ElementSet elements) { ObjectPreviewServer.Toggle(); return(Result.Succeeded); }