704a75a2b4
* splits autocad and civil registration for root object builder * Update Speckle.Connectors.AutocadShared.projitems * adds civil top level converter * add civil3d connector * fixes as was on wrong branch * fixed solution for new shared project * default registration for autocad/civil * some fixes * moved classes around * adds basic civil element converter * csharpier reformat * removes units from root collection, restructures civil shared project * Update AutocadConnectorModule.cs * refactors root object builder to be abstract * removes unnecessary usings --------- Co-authored-by: Adam Hathcock <adam@hathcock.uk>
47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
using Autodesk.AutoCAD.DatabaseServices;
|
|
using Microsoft.Extensions.Logging;
|
|
using Speckle.Connectors.Autocad.HostApp;
|
|
using Speckle.Connectors.Common.Caching;
|
|
using Speckle.Converters.Common;
|
|
using Speckle.Sdk.Logging;
|
|
using Speckle.Sdk.Models.Collections;
|
|
|
|
namespace Speckle.Connectors.Autocad.Operations.Send;
|
|
|
|
public sealed class AutocadRootObjectBuilder : AutocadRootObjectBaseBuilder
|
|
{
|
|
private readonly AutocadLayerUnpacker _layerUnpacker;
|
|
|
|
public AutocadRootObjectBuilder(
|
|
AutocadLayerUnpacker layerUnpacker,
|
|
IRootToSpeckleConverter converter,
|
|
ISendConversionCache sendConversionCache,
|
|
AutocadInstanceUnpacker instanceObjectManager,
|
|
AutocadMaterialUnpacker materialUnpacker,
|
|
AutocadColorUnpacker colorUnpacker,
|
|
AutocadGroupUnpacker groupUnpacker,
|
|
ILogger<AutocadRootObjectBuilder> logger,
|
|
ISdkActivityFactory activityFactory
|
|
)
|
|
: base(
|
|
converter,
|
|
sendConversionCache,
|
|
instanceObjectManager,
|
|
materialUnpacker,
|
|
colorUnpacker,
|
|
groupUnpacker,
|
|
logger,
|
|
activityFactory
|
|
)
|
|
{
|
|
_layerUnpacker = layerUnpacker;
|
|
}
|
|
|
|
public override (Collection, LayerTableRecord?) CreateObjectCollection(Entity entity, Transaction tr)
|
|
{
|
|
Layer layer = _layerUnpacker.GetOrCreateSpeckleLayer(entity, tr, out LayerTableRecord? autocadLayer);
|
|
|
|
return (layer, autocadLayer);
|
|
}
|
|
}
|