System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Invalid column name 'AlsoVisibleInDomains'.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   --- End of inner exception stack trace ---
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
   at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__0()
   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__31_0()
   at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector)
   at MuME2.Data.Managers.CachingManagerBase`2.GetDictionary() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\CachingManagerBase.cs:line 70
   at MuM.Foundation.Caching.Services.CustomCacheService.Get[T](String key, GetFromSourceDelegate`1 getDelegate) in D:\a\1\s\src\Foundation\Caching\code\Services\CustomCacheService.cs:line 260
   at MuME2.Data.Managers.CachingManagerBase`2.get_CachedDictionary() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\CachingManagerBase.cs:line 72
   at MuME2.Data.Managers.CachingManagerBase`2.All() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\CachingManagerBase.cs:line 67
   at MuME2.Data.Managers.EventTypeManager.All() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\EventTypeManager.cs:line 26
   at MuME2.Data.Managers.EventTypeManager.SingleByName(String name) in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\EventTypeManager.cs:line 90
   at MuME2.Data.Managers.EventManager.SingleForDetails(Uri url) in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\EventManager.cs:line 73
   at MuM.Project.Website.Services.SeoService.GetCurrentEvent() in D:\a\1\s\src\Project\Website\code\Services\SeoService.cs:line 216
   at MuM.Project.Website.Services.SeoService.GetCanonicalUrl(Base_Page page, String customHost) in D:\a\1\s\src\Project\Website\code\Services\SeoService.cs:line 188
   at MuM.Project.Website.Services.SeoService.RenderHrefLangTags(Base_Page page) in D:\a\1\s\src\Project\Website\code\Services\SeoService.cs:line 65
   at Mum.Relaunch.Web.Controllers.Framework.DefaultPageController.HtmlHead() in D:\a\1\s\src\Legacy\Mum.Relaunch.Web\Controllers\Framework\DefaultPageController.cs:line 111
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__11_0()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_1.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_1.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.<BeginInvokeAction>b__3()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.<BeginInvokeAction>b__5(IAsyncResult asyncResult)
    

Workflow Booster für AutoCAD und Revit

von Michael Otte | Mittwoch, 25. Mai 2022

Viele kennen unseren Partner 3Dconnexion als Hersteller von 3D-Eingabegeräten wie der SpaceMouse und der CadMouse. Seit letztem September gibt es eine Tastatur speziell für CAD-User, diese habe ich mir in den letzten Wochen genauer angesehen.

Abb. 1 Desktop Setup mit dem neuen Keyboard von 3Dconnexion

 
Der große Unterschied zu meiner Standardtastatur sind ein separater Nummernblock und 12 Funktionstasten, die oberhalb der F-Tasten positioniert sind. Auf diesen Tasten lassen sich Befehle oder Shortcuts aus fast allen (CAD-)Programmen hinterlegen. Die Treiber-Software erkennt automatisch, in welcher Umgebung man sich befindet und visualisiert die gespeicherten Befehle auf einem On-Screen-Display. In der Standardeinstellung sind bereits Befehle vordefiniert, welche sich über das Menü ganz einfach anpassen lassen.


Tastenbelegung nach meinen Bedürfnissen


Da ich als BIM-Trainer viele Schulungen halte, habe ich die Tastenbelegung dahingehend optimiert. Für Revit benötige ich zum einen die Standard-Windows-Funktionen wie z.B. "Windows-Explorer", "Fenster minimieren", "Fenster links / rechts" oder auch "copy / paste".

 

Abb. 2 Tastenbelegung der Funktionstasten in der Anwendung Autodesk Revit.

 

Zum anderen nutze ich konkrete Revit-Befehle, wie die Detaillierungsstufen und Ansichten. Damit ich schneller Zugriff auf Befehle habe, die ich eher selten brauche, die aber trotzdem wichtig sind, wie Planungsausgabe/Änderungen oder Projekteinheiten, habe ich auf zwei der Funktionstasten ein sogenanntes Radialmenü mit vier Sektionen gelegt (bis zu 8 Sektionen sind möglich). So spare ich mir das aufwendige Suchen und Aufrufen über die Multifunktionsleiste.

 

Abb. 3 Radialmenü mit 4 Sektionen in der 3D-Ansicht.

Fazit

Wenn man die Zeit hat, die Tasten für jede Anwendung so zu belegen, dass sie den eigenen Bedürfnissen entsprechen, kann jeder Nutzer mit dem Keyboard Pro entspannt und ohne langes Suchen regelmäßig oder seltener genutzte Befehle in jeder Oberfläche aufrufen. Ein Anwender, der viele Zahleneingaben machen muss, ist mit dem separaten Nummernblock richtig aufgehoben.

 

Weitere Infos zum Produkt finden Sie hier und für weitere Fragen kontaktieren Sie mich gern unter michael.otte@mum.de.

Kommentare

Bitte melden Sie sich an, um einen Kommentar zu erstellen. Sie haben noch keine Zugangsdaten? Dann registrieren Sie sich bitte hier.