├── RepathReferences.exe ├── MEPUtils ├── Windows Logo.png ├── 01 InsulationHandler │ └── Insulation.xlsx ├── 25 PipeSystemFilters │ └── 00 StaticVariables.cs ├── 08 SupportsTools │ ├── DataGridViewWindow.cs │ └── 00 SupportsToolsMain.cs ├── packages.config ├── 24 SelectByGuid │ └── InputBox.cs ├── MEPUtilsClass.cs ├── 00 SharedStaging │ └── 01 SharedStaging.cs ├── license.txt ├── 10 MoveToDistance │ └── InputBoxBasic.cs ├── Properties │ └── AssemblyInfo.cs └── 13 NumberStuff │ └── NumberStuffForm.Designer.cs ├── PDFExporter ├── Windows Logo.png ├── Papirstørrelser.xlsx ├── packages.config ├── Properties │ ├── Settings.settings │ └── AssemblyInfo.cs ├── PDFExporter.cs └── license.txt ├── revit-pcf-exporter ├── LDT.xlsx ├── ImgTapCon16.png ├── ImgTapCon32.png ├── ImgPcfExport16.png ├── ImgPcfExport32.png ├── ImgSupports16.png ├── ImgSupports32.png ├── PCF_DEVELOPEMENT_01.xlsx ├── ActiveUIDoc.cs ├── SharedStagingArea.cs ├── PCF_Exporter.addin ├── Revit-PCF-Exporter.nuspec ├── Properties │ └── DataSources │ │ ├── PCF_Functions.Properties.Settings.datasource │ │ └── PCF_Functions.Properties.Resources.datasource ├── DarkRadioBox.cs ├── PCF_Output.cs └── packages.config ├── .editorconfig ├── MEPUtils-SHARED ├── Windows Logo.png ├── 01 InsulationHandler │ └── Insulation.xlsx ├── 25 PipeSystemFilters │ └── 00 StaticVariables.cs ├── 08 SupportsTools │ ├── DataGridViewWindow.cs │ └── 00 SupportsToolsMain.cs ├── 24 SelectByGuid │ └── InputBox.cs ├── MEPUtilsClass.cs ├── MEPUtils-SHARED.shproj ├── 10 MoveToDistance │ └── InputBoxBasic.cs └── 13 NumberStuff │ └── NumberStuffForm.Designer.cs ├── PDFExporter-SHARED ├── Windows Logo.png ├── Papirstørrelser.xlsx ├── PDFExporter-SHARED.shproj ├── PDFExporter.cs └── PDFExporter-SHARED.projitems ├── RibbonPanel ├── Resources │ ├── ImgPDF16.png │ ├── ImgPDF32.png │ ├── ImgPED16.png │ ├── ImgPED32.png │ ├── ImgSetMark16.png │ ├── ImgSetMark32.png │ ├── ImgMEPUtils16.png │ ├── ImgMEPUtils32.png │ ├── ImgPlaceSupport16.png │ ├── ImgPlaceSupport32.png │ ├── ImgConnectConnectors16.png │ ├── ImgConnectConnectors32.png │ ├── ImgTotalLineLength16.png │ ├── ImgTotalLineLength32.png │ ├── ImgPipeInsulationVisibility16.png │ └── ImgPipeInsulationVisibility32.png ├── packages.config ├── App.config ├── MyRevitAddins.addin └── Properties │ └── AssemblyInfo.cs ├── revit-ntr-exporter ├── NTR_CONFIG.xlsx ├── Resources │ ├── ImgNtrExport16.png │ └── ImgNtrExport32.png ├── SharedStaging.cs ├── packages.config ├── Properties │ └── AssemblyInfo.cs └── NTR_Output.cs ├── revit-pcf-exporter-shared ├── LDT.xlsx ├── ImgSupports16.png ├── ImgSupports32.png ├── ImgTapCon16.png ├── ImgTapCon32.png ├── Windows Logo.png ├── ImgPcfExport16.png ├── ImgPcfExport32.png ├── PCF_DEVELOPEMENT_01.xlsx ├── PipeSpecs │ ├── S03.csv │ ├── C02.csv │ ├── C03.csv │ ├── C08.csv │ └── S02.csv ├── SharedStagingArea.cs ├── packages.config ├── PCFElementModel │ ├── Interfaces │ │ └── IPcfElement.cs │ ├── PhysicalElement │ │ ├── PCF_BOLT.cs │ │ ├── PCF_CPFI.cs │ │ ├── PCF_EP1.cs │ │ ├── PCF_FLOOR-SYMBOL.cs │ │ ├── PCF_SUPPORT.cs │ │ ├── PCF_TEE.cs │ │ ├── PCF_EP1_EP2.cs │ │ ├── PCF_REDUCER-ECCENTRIC.cs │ │ ├── PCF_EP1_EP2_CPFI.cs │ │ ├── PCF_EP1_EP2_CPCONS.cs │ │ ├── PCF_EP1_EP2_EP3_CPCONS.cs │ │ ├── PCF_Pipe.cs │ │ ├── PCF_ELBOW.cs │ │ ├── PCF_VALVE-ANGLE.cs │ │ └── PCF_FLANGE.cs │ └── VirtualElement │ │ ├── PCF_VIRTUAL_STARTPOINT.cs │ │ ├── PCF_VIRTUAL_ISOSPLITPOINT.cs │ │ └── PCF_VIRTUAL_FIELDWELD.cs ├── DocumentManager.cs ├── revit-pcf-exporter-shared.shproj ├── license.txt ├── PCF_Output.cs └── PCF_Pipeline_StartPoint.cs ├── ModelessForms ├── Resources │ ├── ImgSnS16.png │ ├── ImgSnS32.png │ ├── ImgSetTags16.png │ ├── ImgSetTags32.png │ ├── ImgMEPUtils16.png │ ├── ImgMEPUtils32.png │ ├── ImgGeometryValidator16.png │ └── ImgGeometryValidator32.png ├── packages.config ├── Properties │ ├── Settings.settings │ └── AssemblyInfo.cs ├── 03 SearchAndSelect │ ├── TreeViewUtils.cs │ ├── 01 SearchAndSelect.cs │ └── SelectionInformationContainer.cs ├── EventHandler.cs ├── Settings.cs ├── 04 GeometryValidator │ └── ConnectorValidationContainer.cs └── 02 MepUtils │ └── AsyncMethodMepUtils.cs ├── ModelessForms-SHARED ├── Resources │ ├── ImgSnS16.png │ ├── ImgSnS32.png │ ├── ImgMEPUtils16.png │ ├── ImgMEPUtils32.png │ ├── ImgSetTags16.png │ ├── ImgSetTags32.png │ ├── ImgGeometryValidator16.png │ └── ImgGeometryValidator32.png ├── ModelessForms-SHARED.shproj ├── 03 SearchAndSelect │ ├── TreeViewUtils.cs │ ├── 01 SearchAndSelect.cs │ └── SelectionInformationContainer.cs ├── EventHandler.cs ├── 04 GeometryValidator │ └── ConnectorValidationContainer.cs └── 02 MepUtils │ └── AsyncMethodMepUtils.cs ├── RibbonPanel-SHARED ├── Resources │ ├── ImgPDF16.png │ ├── ImgPDF32.png │ ├── ImgPED16.png │ ├── ImgPED32.png │ ├── ImgSetMark16.png │ ├── ImgSetMark32.png │ ├── ImgMEPUtils16.png │ ├── ImgMEPUtils32.png │ ├── ImgPlaceSupport16.png │ ├── ImgPlaceSupport32.png │ ├── ImgTotalLineLength16.png │ ├── ImgTotalLineLength32.png │ ├── ImgConnectConnectors16.png │ ├── ImgConnectConnectors32.png │ ├── ImgPipeInsulationVisibility16.png │ └── ImgPipeInsulationVisibility32.png ├── MyRevitAddins.addin └── RibbonPanel-SHARED.shproj ├── revit-shared-utilities ├── Resources │ ├── AnalysisTools16.png │ └── AnalysisTools32.png ├── packages.config ├── Properties │ ├── Settings.settings │ └── AssemblyInfo.cs ├── 01 Shared code │ └── RadioBox.cs ├── ToolsClass.cs ├── 04 Get element by UCI │ ├── InputBoxBasic.cs │ └── 01 Get e by UCI.cs ├── app.config ├── 02 Connector position validation │ └── connectorSpatialGroup.cs └── 05 Get elements UCI │ └── 01 Get es UCI.cs ├── revit-ntr-exporter-SHARED ├── Resources │ ├── ImgNtrExport16.png │ └── ImgNtrExport32.png ├── DocumentManager.cs ├── revit-ntr-exporter-SHARED.shproj └── NTR_Output.cs ├── revit-cii-neutral-exporter ├── Resources │ ├── ImgCIINExport16.png │ └── ImgCIINExport32.png ├── SharedStagingArea.cs ├── app.config ├── packages.config ├── CIIN_Output.cs └── Properties │ └── AssemblyInfo.cs ├── revit-shared-utilities-shared ├── Resources │ ├── AnalysisTools16.png │ └── AnalysisTools32.png ├── 01 Shared code │ └── RadioBox.cs ├── ToolsClass.cs ├── revit-shared-utilities-shared.shproj ├── 04 Get element by UCI │ ├── InputBoxBasic.cs │ └── 01 Get e by UCI.cs ├── 02 Connector position validation │ └── connectorSpatialGroup.cs └── 05 Get elements UCI │ └── 01 Get es UCI.cs ├── Data ├── App.config └── Properties │ └── AssemblyInfo.cs ├── TestApp ├── TestApp.csproj └── Program.cs ├── RibbonPanel-2022 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── RibbonPanel-2024 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── PDFExporter-2022 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── PDFExporter-2024 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── revit-shared-utilities-2022 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── revit-shared-utilities-2024 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── revit-pcf-exporter-WPF └── UI │ └── PcfExporterWindow.xaml.cs ├── Data-SHARED ├── Data-SHARED.projitems └── Data-SHARED.shproj ├── MEPUtils-2025 └── Properties │ └── PublishProfiles │ └── FolderProfile.pubxml ├── RibbonPanel-2025 └── Properties │ └── PublishProfiles │ └── FolderProfile.pubxml ├── ModelessForms-2025 └── Properties │ └── PublishProfiles │ └── FolderProfile.pubxml ├── PDFExporter-2025 └── Properties │ └── PublishProfiles │ └── FolderProfile.pubxml ├── revit-pcf-exporter-2025 └── Properties │ └── PublishProfiles │ └── FolderProfile.pubxml ├── revit-ntr-exporter-2025 └── Properties │ └── PublishProfiles │ └── FolderProfile.pubxml ├── revit-shared-utilities-2025 └── Properties │ └── PublishProfiles │ └── FolderProfile.pubxml ├── revit-mep-system-traversal ├── app.config ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── revit-pcf-exporter-FORMS ├── DarkRadioBox.cs └── Properties │ └── AssemblyInfo.cs ├── revit-shared-utilities-FORMS ├── DarkRadioBox.cs └── Properties │ └── AssemblyInfo.cs ├── revit-ntr-exporter-2022 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── revit-ntr-exporter-2024 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── ModelessForms-2022 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── ModelessForms-2024 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── revit-pcf-exporter-2022 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── revit-pcf-exporter-2024 ├── packages.config └── Properties │ └── AssemblyInfo.cs ├── Revit_Piping_Analysis.addin ├── MEPUtils-2022 ├── Properties │ └── AssemblyInfo.cs └── packages.config ├── MEPUtils-2024 ├── Properties │ └── AssemblyInfo.cs └── packages.config └── revit-ntr-exporter-FORMS └── Properties └── AssemblyInfo.cs /RepathReferences.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RepathReferences.exe -------------------------------------------------------------------------------- /MEPUtils/Windows Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/MEPUtils/Windows Logo.png -------------------------------------------------------------------------------- /PDFExporter/Windows Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/PDFExporter/Windows Logo.png -------------------------------------------------------------------------------- /revit-pcf-exporter/LDT.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter/LDT.xlsx -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.cs] 2 | 3 | # CA1707: Identifiers should not contain underscores 4 | dotnet_diagnostic.CA1707.severity = silent 5 | -------------------------------------------------------------------------------- /MEPUtils-SHARED/Windows Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/MEPUtils-SHARED/Windows Logo.png -------------------------------------------------------------------------------- /PDFExporter/Papirstørrelser.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/PDFExporter/Papirstørrelser.xlsx -------------------------------------------------------------------------------- /PDFExporter-SHARED/Windows Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/PDFExporter-SHARED/Windows Logo.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgPDF16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgPDF16.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgPDF32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgPDF32.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgPED16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgPED16.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgPED32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgPED32.png -------------------------------------------------------------------------------- /revit-ntr-exporter/NTR_CONFIG.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-ntr-exporter/NTR_CONFIG.xlsx -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/LDT.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter-shared/LDT.xlsx -------------------------------------------------------------------------------- /revit-pcf-exporter/ImgTapCon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter/ImgTapCon16.png -------------------------------------------------------------------------------- /revit-pcf-exporter/ImgTapCon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter/ImgTapCon32.png -------------------------------------------------------------------------------- /ModelessForms/Resources/ImgSnS16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms/Resources/ImgSnS16.png -------------------------------------------------------------------------------- /ModelessForms/Resources/ImgSnS32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms/Resources/ImgSnS32.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgSetMark16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgSetMark16.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgSetMark32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgSetMark32.png -------------------------------------------------------------------------------- /revit-pcf-exporter/ImgPcfExport16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter/ImgPcfExport16.png -------------------------------------------------------------------------------- /revit-pcf-exporter/ImgPcfExport32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter/ImgPcfExport32.png -------------------------------------------------------------------------------- /revit-pcf-exporter/ImgSupports16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter/ImgSupports16.png -------------------------------------------------------------------------------- /revit-pcf-exporter/ImgSupports32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter/ImgSupports32.png -------------------------------------------------------------------------------- /ModelessForms/Resources/ImgSetTags16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms/Resources/ImgSetTags16.png -------------------------------------------------------------------------------- /ModelessForms/Resources/ImgSetTags32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms/Resources/ImgSetTags32.png -------------------------------------------------------------------------------- /PDFExporter-SHARED/Papirstørrelser.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/PDFExporter-SHARED/Papirstørrelser.xlsx -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgMEPUtils16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgMEPUtils16.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgMEPUtils32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgMEPUtils32.png -------------------------------------------------------------------------------- /ModelessForms-SHARED/Resources/ImgSnS16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms-SHARED/Resources/ImgSnS16.png -------------------------------------------------------------------------------- /ModelessForms-SHARED/Resources/ImgSnS32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms-SHARED/Resources/ImgSnS32.png -------------------------------------------------------------------------------- /ModelessForms/Resources/ImgMEPUtils16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms/Resources/ImgMEPUtils16.png -------------------------------------------------------------------------------- /ModelessForms/Resources/ImgMEPUtils32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms/Resources/ImgMEPUtils32.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgPDF16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgPDF16.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgPDF32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgPDF32.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgPED16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgPED16.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgPED32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgPED32.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgPlaceSupport16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgPlaceSupport16.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgPlaceSupport32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgPlaceSupport32.png -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/ImgSupports16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter-shared/ImgSupports16.png -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/ImgSupports32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter-shared/ImgSupports32.png -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/ImgTapCon16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter-shared/ImgTapCon16.png -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/ImgTapCon32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter-shared/ImgTapCon32.png -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/Windows Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter-shared/Windows Logo.png -------------------------------------------------------------------------------- /revit-pcf-exporter/PCF_DEVELOPEMENT_01.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter/PCF_DEVELOPEMENT_01.xlsx -------------------------------------------------------------------------------- /MEPUtils/01 InsulationHandler/Insulation.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/MEPUtils/01 InsulationHandler/Insulation.xlsx -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgSetMark16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgSetMark16.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgSetMark32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgSetMark32.png -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/ImgPcfExport16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter-shared/ImgPcfExport16.png -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/ImgPcfExport32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter-shared/ImgPcfExport32.png -------------------------------------------------------------------------------- /ModelessForms-SHARED/Resources/ImgMEPUtils16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms-SHARED/Resources/ImgMEPUtils16.png -------------------------------------------------------------------------------- /ModelessForms-SHARED/Resources/ImgMEPUtils32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms-SHARED/Resources/ImgMEPUtils32.png -------------------------------------------------------------------------------- /ModelessForms-SHARED/Resources/ImgSetTags16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms-SHARED/Resources/ImgSetTags16.png -------------------------------------------------------------------------------- /ModelessForms-SHARED/Resources/ImgSetTags32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms-SHARED/Resources/ImgSetTags32.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgMEPUtils16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgMEPUtils16.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgMEPUtils32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgMEPUtils32.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgConnectConnectors16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgConnectConnectors16.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgConnectConnectors32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgConnectConnectors32.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgTotalLineLength16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgTotalLineLength16.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgTotalLineLength32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgTotalLineLength32.png -------------------------------------------------------------------------------- /revit-ntr-exporter/Resources/ImgNtrExport16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-ntr-exporter/Resources/ImgNtrExport16.png -------------------------------------------------------------------------------- /revit-ntr-exporter/Resources/ImgNtrExport32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-ntr-exporter/Resources/ImgNtrExport32.png -------------------------------------------------------------------------------- /ModelessForms/Resources/ImgGeometryValidator16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms/Resources/ImgGeometryValidator16.png -------------------------------------------------------------------------------- /ModelessForms/Resources/ImgGeometryValidator32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms/Resources/ImgGeometryValidator32.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgPlaceSupport16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgPlaceSupport16.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgPlaceSupport32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgPlaceSupport32.png -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCF_DEVELOPEMENT_01.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-pcf-exporter-shared/PCF_DEVELOPEMENT_01.xlsx -------------------------------------------------------------------------------- /MEPUtils-SHARED/01 InsulationHandler/Insulation.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/MEPUtils-SHARED/01 InsulationHandler/Insulation.xlsx -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgTotalLineLength16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgTotalLineLength16.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgTotalLineLength32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgTotalLineLength32.png -------------------------------------------------------------------------------- /revit-shared-utilities/Resources/AnalysisTools16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-shared-utilities/Resources/AnalysisTools16.png -------------------------------------------------------------------------------- /revit-shared-utilities/Resources/AnalysisTools32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-shared-utilities/Resources/AnalysisTools32.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgConnectConnectors16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgConnectConnectors16.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgConnectConnectors32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgConnectConnectors32.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgPipeInsulationVisibility16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgPipeInsulationVisibility16.png -------------------------------------------------------------------------------- /RibbonPanel/Resources/ImgPipeInsulationVisibility32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel/Resources/ImgPipeInsulationVisibility32.png -------------------------------------------------------------------------------- /revit-ntr-exporter-SHARED/Resources/ImgNtrExport16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-ntr-exporter-SHARED/Resources/ImgNtrExport16.png -------------------------------------------------------------------------------- /revit-ntr-exporter-SHARED/Resources/ImgNtrExport32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-ntr-exporter-SHARED/Resources/ImgNtrExport32.png -------------------------------------------------------------------------------- /ModelessForms-SHARED/Resources/ImgGeometryValidator16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms-SHARED/Resources/ImgGeometryValidator16.png -------------------------------------------------------------------------------- /ModelessForms-SHARED/Resources/ImgGeometryValidator32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/ModelessForms-SHARED/Resources/ImgGeometryValidator32.png -------------------------------------------------------------------------------- /revit-cii-neutral-exporter/Resources/ImgCIINExport16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-cii-neutral-exporter/Resources/ImgCIINExport16.png -------------------------------------------------------------------------------- /revit-cii-neutral-exporter/Resources/ImgCIINExport32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-cii-neutral-exporter/Resources/ImgCIINExport32.png -------------------------------------------------------------------------------- /revit-shared-utilities-shared/Resources/AnalysisTools16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-shared-utilities-shared/Resources/AnalysisTools16.png -------------------------------------------------------------------------------- /revit-shared-utilities-shared/Resources/AnalysisTools32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/revit-shared-utilities-shared/Resources/AnalysisTools32.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgPipeInsulationVisibility16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgPipeInsulationVisibility16.png -------------------------------------------------------------------------------- /RibbonPanel-SHARED/Resources/ImgPipeInsulationVisibility32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shtirlitsDva/Revit-PCF-Exporter/HEAD/RibbonPanel-SHARED/Resources/ImgPipeInsulationVisibility32.png -------------------------------------------------------------------------------- /Data/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /TestApp/TestApp.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | enable 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /RibbonPanel/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /RibbonPanel-2022/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /RibbonPanel-2024/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PipeSpecs/S03.csv: -------------------------------------------------------------------------------- 1 | DN;OD;WTHK 2 | 8;13.5;1.6 3 | 10;17.2;1.6 4 | 15;21.3;1.6 5 | 20;26.9;1.6 6 | 25;33.7;2.0 7 | 32;42.4;2.0 8 | 40;48.3;2.0 9 | 50;60.3;2.0 10 | 65;76.1;2.0 11 | 80;88.9;2.0 12 | 100;114.3;2.6 13 | 125;139.7;2.6 14 | 150;168.3;2.6 15 | 200;219.1;3.0 16 | 250;273.0;3.0 17 | 300;323.9;3.0 18 | 350;355.6;3.0 19 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PipeSpecs/C02.csv: -------------------------------------------------------------------------------- 1 | DN;OD;WTHK 2 | 15;21.3;2.0 3 | 20;26.9;2.3 4 | 25;33.7;2.6 5 | 32;42.4;2.6 6 | 40;48.3;2.6 7 | 50;60.3;2.9 8 | 65;76.1;2.9 9 | 80;88.9;3.2 10 | 100;114.3;3.6 11 | 125;139.7;4.0 12 | 150;168.3;4.5 13 | 200;219.1;6.3 14 | 250;273.0;6.3 15 | 300;323.9;7.1 16 | 350;355.6;8.0 17 | 400;406.4;8.8 18 | 500;508.0;10.0 19 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PipeSpecs/C03.csv: -------------------------------------------------------------------------------- 1 | DN;OD;WTHK 2 | 15;21.3;2.0 3 | 20;26.9;2.3 4 | 25;33.7;2.6 5 | 32;42.4;2.6 6 | 40;48.3;2.6 7 | 50;60.3;2.9 8 | 65;76.1;2.9 9 | 80;88.9;3.2 10 | 100;114.3;3.6 11 | 125;139.7;4.0 12 | 150;168.3;4.5 13 | 200;219.1;6.3 14 | 250;273.0;6.3 15 | 300;323.9;7.1 16 | 350;355.6;8.0 17 | 400;406.4;8.8 18 | 500;508.0;10.0 19 | -------------------------------------------------------------------------------- /MEPUtils/25 PipeSystemFilters/00 StaticVariables.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MEPUtils.PipingSystemsAndFilters 8 | { 9 | public static class StaticVariables 10 | { 11 | public static readonly string filterNamePrefix = "MECH_SYS_TYPE_"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PipeSpecs/C08.csv: -------------------------------------------------------------------------------- 1 | DN;OD;WTHK 2 | 10;17.2;2.6 3 | 15;21.3;2.6 4 | 20;26.9;2.6 5 | 25;33.7;3.2 6 | 32;42.4;3.6 7 | 40;48.3;3.6 8 | 50;60.3;3.6 9 | 65;76.1;2.9 10 | 80;88.9;3.2 11 | 100;114.3;3.6 12 | 125;139.7;4.0 13 | 150;168.3;4.5 14 | 200;219.1;6.3 15 | 250;273.0;6.3 16 | 300;323.9;7.1 17 | 350;355.6;8.0 18 | 400;406.4;8.8 19 | 500;508.0;10.0 20 | -------------------------------------------------------------------------------- /MEPUtils-SHARED/25 PipeSystemFilters/00 StaticVariables.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MEPUtils.PipingSystemsAndFilters 8 | { 9 | public static class StaticVariables 10 | { 11 | public static readonly string filterNamePrefix = "MECH_SYS_TYPE_"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /PDFExporter-2022/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /PDFExporter-2024/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /revit-shared-utilities/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /TestApp/Program.cs: -------------------------------------------------------------------------------- 1 | namespace TestApp 2 | { 3 | internal class Program 4 | { 5 | static void Main(string[] args) 6 | { 7 | var csvs = System.IO.Directory.EnumerateFiles( 8 | @"C:\1\Norsyn\AC - Iso\PipeSpecs\", "*.csv", System.IO.SearchOption.TopDirectoryOnly); 9 | 10 | foreach (var csv in csvs) 11 | Console.WriteLine(csv); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PipeSpecs/S02.csv: -------------------------------------------------------------------------------- 1 | DN;OD;WTHK 2 | 8;13.5;1.6 3 | 10;17.2;1.6 4 | 15;21.3;1.6 5 | 20;26.9;1.6 6 | 25;33.7;2.0 7 | 32;42.4;2.0 8 | 40;48.3;2.0 9 | 50;60.3;2.0 10 | 65;76.1;2.0 11 | 80;88.9;2.0 12 | 100;114.3;2.6 13 | 125;139.7;2.6 14 | 150;168.3;2.6 15 | 200;219.1;3.0 16 | 250;273.0;3.0 17 | 300;323.9;3.0 18 | 350;355.6;3.0 19 | 400;406.4;3.0 20 | 450;457.0;3.0 21 | 500;508.0;3.0 22 | 600;610.0;4.0 23 | -------------------------------------------------------------------------------- /revit-shared-utilities-2022/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /revit-shared-utilities-2024/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /revit-pcf-exporter/ActiveUIDoc.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.UI; 2 | 3 | namespace PCF_Exporter 4 | { 5 | public class ActiveDoc 6 | { 7 | private static UIApplication m_uiApp; 8 | public static Autodesk.Revit.UI.UIApplication UIApp 9 | { 10 | set { m_uiApp = value; } 11 | } 12 | public static Autodesk.Revit.DB.Document Doc 13 | { 14 | get { return m_uiApp.ActiveUIDocument.Document; } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /revit-ntr-exporter/SharedStaging.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Plumbing; 3 | using Autodesk.Revit.UI; 4 | using MoreLinq; 5 | using NTR_Functions; 6 | using NTR_Output; 7 | using Shared; 8 | using Shared.BuildingCoder; 9 | using System; 10 | using System.Collections; 11 | using System.Collections.Generic; 12 | using System.Linq; 13 | using System.Text; 14 | 15 | namespace Shared 16 | { 17 | public static class SharedStaging 18 | { 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /revit-pcf-exporter/SharedStagingArea.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Plumbing; 3 | using Autodesk.Revit.UI; 4 | using MoreLinq; 5 | using PCF_Functions; 6 | using PCF_Output; 7 | using Shared; 8 | using Shared.BuildingCoder; 9 | using System; 10 | using System.Collections; 11 | using System.Collections.Generic; 12 | using System.Linq; 13 | using System.Text; 14 | 15 | namespace Shared 16 | { 17 | public static class SharedStagingArea 18 | { 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /revit-pcf-exporter/PCF_Exporter.addin: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | E:\Github\pcf-exporter\PCF-exporter\bin\Debug\PCF-Exporter.dll 5 | 73348466-3f81-4752-8283-1b5dd6b04c3b 6 | PCF_Exporter.App 7 | PCF Tools 8 | MGTek 9 | MGTek, info@mgtek.dk 10 | 11 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/SharedStagingArea.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Plumbing; 3 | using Autodesk.Revit.UI; 4 | using MoreLinq; 5 | using PCF_Functions; 6 | using PCF_Output; 7 | using Shared; 8 | using Shared.BuildingCoder; 9 | using System; 10 | using System.Collections; 11 | using System.Collections.Generic; 12 | using System.Linq; 13 | using System.Text; 14 | 15 | namespace Shared 16 | { 17 | public static class SharedStagingArea 18 | { 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /revit-pcf-exporter-WPF/UI/PcfExporterWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | using Autodesk.Revit.UI; 4 | 5 | using PCF_Exporter.ViewModels; 6 | 7 | namespace PCF_Exporter.UI 8 | { 9 | public partial class PcfExporterWindow : Window 10 | { 11 | PcfExporterViewModel vm = new(); 12 | public PcfExporterWindow(ExternalCommandData cData) 13 | { 14 | InitializeComponent(); 15 | vm.UIApp = cData.Application; 16 | DataContext = vm; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /PDFExporter/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /revit-cii-neutral-exporter/SharedStagingArea.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using MoreLinq; 7 | using Autodesk.Revit.DB; 8 | using Autodesk.Revit.DB.Plumbing; 9 | using Autodesk.Revit.DB.Structure; 10 | using Autodesk.Revit.DB.Mechanical; 11 | using Autodesk.Revit.UI; 12 | using Shared.BuildingCoder; 13 | using Shared; 14 | 15 | namespace Shared 16 | { 17 | public static class ExtensionsStaging 18 | { 19 | 20 | } 21 | 22 | public static class MepUtilsStaging 23 | { 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ModelessForms/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /revit-shared-utilities/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | True 7 | 8 | 9 | False 10 | 11 | 12 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/Interfaces/IPcfElement.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using PCF_Functions; 4 | 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Text; 8 | 9 | namespace PCF_Model 10 | { 11 | internal interface IPcfElement 12 | { 13 | HashSet AllConnectors { get; } 14 | ElementId ElementId { get; } 15 | string SystemAbbreviation { get; } 16 | string GetParameterValue(ParameterDefinition pdef); 17 | void SetParameterValue(ParameterDefinition pdef, string value); 18 | bool ParticipateInMaterialTable { get; } 19 | StringBuilder ToPCFString(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /revit-pcf-exporter/Revit-PCF-Exporter.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $version$ 6 | $title$ 7 | $author$ 8 | $author$ 9 | false 10 | MIT 11 | https://github.com/shtirlitsDva/Revit-PCF-Exporter 12 | $description$ 13 | Update to 2021 and .NET 4.8 14 | Copyright 2020 15 | Revit PCF 16 | 17 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_BOLT.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_BOLT : PCF_CPFI 14 | { 15 | public PCF_BOLT(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(base.WriteSpecificData()); 21 | 22 | return sb; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_CPFI.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_CPFI : PcfPhysicalElement 14 | { 15 | public PCF_CPFI(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | sb.Append(EndWriter.WriteCP(Element as FamilyInstance)); 20 | 21 | return sb; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_EP1.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_EP1 : PcfPhysicalElement 14 | { 15 | public PCF_EP1(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(EndWriter.WriteEP1(Element, Cons.Primary)); 21 | 22 | return sb; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Data-SHARED/Data-SHARED.projitems: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | b67c53a5-3a99-40c5-bfe6-bd000a80bbda 7 | 8 | 9 | Data_SHARED 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /revit-pcf-exporter/Properties/DataSources/PCF_Functions.Properties.Settings.datasource: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | PCF_Functions.Properties.Settings, Properties.Resources.Designer.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 10 | -------------------------------------------------------------------------------- /MEPUtils/08 SupportsTools/DataGridViewWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace MEPUtils.SupportTools 12 | { 13 | public partial class DataGridViewWindow : Form 14 | { 15 | private DataTable CompareSupports; 16 | 17 | public DataGridViewWindow(DataTable compareSupports) 18 | { 19 | InitializeComponent(); 20 | this.CompareSupports = compareSupports; 21 | dataGridView1.DataSource = CompareSupports; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /revit-pcf-exporter/Properties/DataSources/PCF_Functions.Properties.Resources.datasource: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | PCF_Functions.Properties.Resources, Properties.Resources.Designer.cs.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 10 | -------------------------------------------------------------------------------- /MEPUtils-SHARED/08 SupportsTools/DataGridViewWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace MEPUtils.SupportTools 12 | { 13 | public partial class DataGridViewWindow : Form 14 | { 15 | private DataTable CompareSupports; 16 | 17 | public DataGridViewWindow(DataTable compareSupports) 18 | { 19 | InitializeComponent(); 20 | this.CompareSupports = compareSupports; 21 | dataGridView1.DataSource = CompareSupports; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MEPUtils-2025/Properties/PublishProfiles/FolderProfile.pubxml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | Release 8 | x64 9 | X:\AutoCAD DRI - Revit\Addins\2025\MEPUtils 10 | FileSystem 11 | <_TargetId>Folder 12 | net8.0-windows 13 | win-x64 14 | false 15 | false 16 | false 17 | 18 | -------------------------------------------------------------------------------- /RibbonPanel-2025/Properties/PublishProfiles/FolderProfile.pubxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Release 6 | x64 7 | X:\AutoCAD DRI - Revit\Addins\2025\RibbonPanel 8 | FileSystem 9 | <_TargetId>Folder 10 | net8.0-windows 11 | win-x64 12 | false 13 | false 14 | false 15 | 16 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_FLOOR-SYMBOL.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_FLOOR_SYMBOL : PcfPhysicalElement 14 | { 15 | public PCF_FLOOR_SYMBOL(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(EndWriter.WriteCO((FamilyInstance)Element)); 21 | 22 | return sb; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_SUPPORT.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_SUPPORT : PcfPhysicalElement 14 | { 15 | public PCF_SUPPORT(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(EndWriter.WriteCO((FamilyInstance)Element, Cons.Primary)); 21 | 22 | return sb; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/DocumentManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | using Autodesk.Revit.DB; 6 | 7 | namespace PCF_Exporter 8 | { 9 | public sealed class DocumentManager 10 | { 11 | private static readonly Lazy lazy = new Lazy(() => new DocumentManager()); 12 | public static DocumentManager Instance { get { return lazy.Value; } } 13 | public Document Doc { get; private set; } 14 | private DocumentManager() { } 15 | public void Initialize(Document document) 16 | { 17 | if (Doc == null) 18 | { 19 | Doc = document; 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /ModelessForms-2025/Properties/PublishProfiles/FolderProfile.pubxml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | Release 8 | x64 9 | X:\AutoCAD DRI - Revit\Addins\2025\ModelessForms 10 | FileSystem 11 | <_TargetId>Folder 12 | net8.0-windows 13 | win-x64 14 | false 15 | false 16 | false 17 | 18 | -------------------------------------------------------------------------------- /PDFExporter-2025/Properties/PublishProfiles/FolderProfile.pubxml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | Release 8 | x64 9 | X:\AutoCAD DRI - Revit\Addins\2025\PDFExporter 10 | FileSystem 11 | <_TargetId>Folder 12 | net8.0-windows 13 | win-x64 14 | false 15 | false 16 | false 17 | 18 | -------------------------------------------------------------------------------- /revit-pcf-exporter-2025/Properties/PublishProfiles/FolderProfile.pubxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Release 6 | x64 7 | X:\AutoCAD DRI - Revit\Addins\2025\revit-pcf-exporter 8 | FileSystem 9 | <_TargetId>Folder 10 | net8.0-windows 11 | win-x64 12 | false 13 | false 14 | false 15 | 16 | -------------------------------------------------------------------------------- /revit-ntr-exporter-2025/Properties/PublishProfiles/FolderProfile.pubxml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | Release 8 | x64 9 | X:\AutoCAD DRI - Revit\Addins\2025\revit-ntr-exporter 10 | FileSystem 11 | <_TargetId>Folder 12 | net8.0-windows 13 | win-x64 14 | false 15 | false 16 | false 17 | 18 | -------------------------------------------------------------------------------- /revit-shared-utilities-2025/Properties/PublishProfiles/FolderProfile.pubxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Release 6 | x64 7 | X:\AutoCAD DRI - Revit\Addins\2025\revit-shared-utilities 8 | FileSystem 9 | <_TargetId>Folder 10 | net8.0-windows 11 | win-x64 12 | false 13 | false 14 | false 15 | 16 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_TEE.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_TEE : PCF_EP1_EP2_CPFI 14 | { 15 | public PCF_TEE(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(base.WriteSpecificData()); 21 | 22 | sb.Append(EndWriter.WriteBP1(Element, Cons.Tertiary)); 23 | 24 | return sb; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /ModelessForms/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_EP1_EP2.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_EP1_EP2 : PcfPhysicalElement 14 | { 15 | public PCF_EP1_EP2(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(EndWriter.WriteEP1(Element, Cons.Primary)); 21 | sb.Append(EndWriter.WriteEP2(Element, Cons.Secondary)); 22 | 23 | return sb; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /revit-cii-neutral-exporter/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /revit-mep-system-traversal/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_REDUCER-ECCENTRIC.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_REDUCER_ECCENTRIC : PCF_EP1_EP2 14 | { 15 | public PCF_REDUCER_ECCENTRIC(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(base.WriteSpecificData()); 21 | 22 | //Temporary hack 23 | sb.AppendLine(" FLAT-DIRECTION DOWN"); 24 | return sb; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /MEPUtils/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /RibbonPanel/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_EP1_EP2_CPFI.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_EP1_EP2_CPFI : PcfPhysicalElement 14 | { 15 | public PCF_EP1_EP2_CPFI(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | sb.Append(EndWriter.WriteEP1(Element, Cons.Primary)); 20 | sb.Append(EndWriter.WriteEP2(Element, Cons.Secondary)); 21 | sb.Append(EndWriter.WriteCP(Element as FamilyInstance)); 22 | 23 | return sb; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_EP1_EP2_CPCONS.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_EP1_EP2_CPCONS : PcfPhysicalElement 14 | { 15 | public PCF_EP1_EP2_CPCONS(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | sb.Append(EndWriter.WriteEP1(Element, Cons.Primary)); 20 | sb.Append(EndWriter.WriteEP2(Element, Cons.Secondary)); 21 | sb.Append(EndWriter.WriteCP(Cons.Primary, Cons.Secondary)); 22 | 23 | return sb; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /revit-pcf-exporter/DarkRadioBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace Shared 5 | { 6 | //This class is introduced to fix the default behaviour of radiobuttons in RadioBox. I couldn't get the radiobuttons 7 | //to switch on and off correctly inside one RadioBox. I found this solution somewhere on the net. 8 | public partial class DarkRadioBox : DarkUI.Controls.DarkGroupBox 9 | { 10 | protected override void OnControlAdded(ControlEventArgs e) 11 | { 12 | base.OnControlAdded(e); 13 | var radioButton = e.Control as RadioButton; 14 | if (radioButton != null) radioButton.Click += radioButton_Click; 15 | } 16 | 17 | void radioButton_Click(object sender, EventArgs e) 18 | { 19 | var radio = (RadioButton)sender; 20 | if (!radio.Checked) radio.Checked = true; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /revit-pcf-exporter-FORMS/DarkRadioBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace Shared 5 | { 6 | //This class is introduced to fix the default behaviour of radiobuttons in RadioBox. I couldn't get the radiobuttons 7 | //to switch on and off correctly inside one RadioBox. I found this solution somewhere on the net. 8 | public partial class DarkRadioBox : DarkUI.Controls.DarkGroupBox 9 | { 10 | protected override void OnControlAdded(ControlEventArgs e) 11 | { 12 | base.OnControlAdded(e); 13 | var radioButton = e.Control as RadioButton; 14 | if (radioButton != null) radioButton.Click += radioButton_Click; 15 | } 16 | 17 | void radioButton_Click(object sender, EventArgs e) 18 | { 19 | var radio = (RadioButton)sender; 20 | if (!radio.Checked) radio.Checked = true; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /revit-shared-utilities-FORMS/DarkRadioBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace Shared.Forms 5 | { 6 | //This class is introduced to fix the default behaviour of radiobuttons in RadioBox. I couldn't get the radiobuttons 7 | //to switch on and off correctly inside one RadioBox. I found this solution somewhere on the net. 8 | public partial class DarkRadioBox : DarkUI.Controls.DarkGroupBox 9 | { 10 | protected override void OnControlAdded(ControlEventArgs e) 11 | { 12 | base.OnControlAdded(e); 13 | var radioButton = e.Control as RadioButton; 14 | if (radioButton != null) radioButton.Click += radioButton_Click; 15 | } 16 | 17 | void radioButton_Click(object sender, EventArgs e) 18 | { 19 | var radio = (RadioButton)sender; 20 | if (!radio.Checked) radio.Checked = true; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/VirtualElement/PCF_VIRTUAL_STARTPOINT.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Structure; 3 | 4 | using PCF_Model; 5 | using Shared; 6 | using plst = PCF_Functions.Parameters; 7 | using ew = PCF_Functions.EndWriter; 8 | 9 | using System; 10 | using System.Collections.Generic; 11 | using System.Text; 12 | 13 | namespace PCF_Model 14 | { 15 | internal class PCF_VIRTUAL_STARTPOINT : PcfVirtualElement 16 | { 17 | private Element Element; 18 | public override ElementId ElementId => Element.Id; 19 | public override HashSet AllConnectors => MepUtils.GetALLConnectorsFromElements(Element); 20 | public XYZ Location { get; set; } 21 | public PCF_VIRTUAL_STARTPOINT(Element element, XYZ location) : base("STARTPOINT") 22 | { 23 | Element = element; 24 | Location = location; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /revit-shared-utilities/01 Shared code/RadioBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace Shared 5 | { 6 | //This class is introduced to fix the default behaviour of radiobuttons in RadioBox. I couldn't get the radiobuttons 7 | //to switch on and off correctly inside one RadioBox. I found this solution somewhere on the net. 8 | public partial class RadioBox : System.Windows.Forms.GroupBox 9 | { 10 | protected override void OnControlAdded(ControlEventArgs e) 11 | { 12 | base.OnControlAdded(e); 13 | var radioButton = e.Control as RadioButton; 14 | if (radioButton != null) radioButton.Click += radioButton_Click; 15 | } 16 | 17 | void radioButton_Click(object sender, EventArgs e) 18 | { 19 | var radio = (RadioButton)sender; 20 | if (!radio.Checked) radio.Checked = true; 21 | } 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /revit-shared-utilities-shared/01 Shared code/RadioBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace Shared 5 | { 6 | //This class is introduced to fix the default behaviour of radiobuttons in RadioBox. I couldn't get the radiobuttons 7 | //to switch on and off correctly inside one RadioBox. I found this solution somewhere on the net. 8 | public partial class RadioBox : System.Windows.Forms.GroupBox 9 | { 10 | protected override void OnControlAdded(ControlEventArgs e) 11 | { 12 | base.OnControlAdded(e); 13 | var radioButton = e.Control as RadioButton; 14 | if (radioButton != null) radioButton.Click += radioButton_Click; 15 | } 16 | 17 | void radioButton_Click(object sender, EventArgs e) 18 | { 19 | var radio = (RadioButton)sender; 20 | if (!radio.Checked) radio.Checked = true; 21 | } 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /RibbonPanel/MyRevitAddins.addin: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | D:\GitHub\shtirlitsDva\MyRevitAddins\MyRevitAddins\RibbonPanel\bin\Release\MyRibbonPanel.dll 5 | 973C4F18-300B-41A4-A998-C289820D1969 6 | MyRibbonPanel.App 7 | MyAddIns 8 | MGTek 9 | app@mgtek.dk 10 | 11 | 12 | D:\GitHub\shtirlitsDva\MyRevitAddins\MyRevitAddins\SetTagsModeless\bin\Release\ModelessForms.dll 13 | 1A1D1ECF-9569-4F1C-81EF-52D560369FBE 14 | ModelessForms.Application 15 | SetTags 16 | MGTek 17 | app@mgtek.dk 18 | 19 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_EP1_EP2_EP3_CPCONS.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_EP1_EP2_EP3_CPCONS : PcfPhysicalElement 14 | { 15 | public PCF_EP1_EP2_EP3_CPCONS(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | sb.Append(EndWriter.WriteEP1(Element, Cons.Primary)); 20 | sb.Append(EndWriter.WriteEP2(Element, Cons.Secondary)); 21 | sb.Append(EndWriter.WriteEP3(Element, Cons.Tertiary)); 22 | sb.Append(EndWriter.WriteCP(Cons.Primary, Cons.Secondary)); 23 | 24 | return sb; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /MEPUtils/24 SelectByGuid/InputBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace MEPUtils.SelectByGuid 12 | { 13 | public partial class InputBox : Form 14 | { 15 | public bool Execute = false; 16 | public string GUID = string.Empty; 17 | 18 | public InputBox() 19 | { 20 | InitializeComponent(); 21 | } 22 | 23 | private void button1_Click(object sender, EventArgs e) 24 | { 25 | Execute = true; 26 | GUID = textBox1.Text; 27 | this.Close(); 28 | } 29 | 30 | private void button2_Click(object sender, EventArgs e) 31 | { 32 | Execute = false; 33 | this.Close(); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /RibbonPanel-SHARED/MyRevitAddins.addin: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | D:\GitHub\shtirlitsDva\MyRevitAddins\MyRevitAddins\RibbonPanel\bin\Release\MyRibbonPanel.dll 5 | 973C4F18-300B-41A4-A998-C289820D1969 6 | MyRibbonPanel.App 7 | MyAddIns 8 | MGTek 9 | app@mgtek.dk 10 | 11 | 12 | D:\GitHub\shtirlitsDva\MyRevitAddins\MyRevitAddins\SetTagsModeless\bin\Release\ModelessForms.dll 13 | 1A1D1ECF-9569-4F1C-81EF-52D560369FBE 14 | ModelessForms.Application 15 | SetTags 16 | MGTek 17 | app@mgtek.dk 18 | 19 | -------------------------------------------------------------------------------- /MEPUtils-SHARED/24 SelectByGuid/InputBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace MEPUtils.SelectByGuid 12 | { 13 | public partial class InputBox : Form 14 | { 15 | public bool Execute = false; 16 | public string GUID = string.Empty; 17 | 18 | public InputBox() 19 | { 20 | InitializeComponent(); 21 | } 22 | 23 | private void button1_Click(object sender, EventArgs e) 24 | { 25 | Execute = true; 26 | GUID = textBox1.Text; 27 | this.Close(); 28 | } 29 | 30 | private void button2_Click(object sender, EventArgs e) 31 | { 32 | Execute = false; 33 | this.Close(); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /revit-ntr-exporter-SHARED/DocumentManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | using Autodesk.Revit.DB; 6 | using Autodesk.Revit.UI; 7 | 8 | namespace NTR_Exporter 9 | { 10 | public sealed class DocumentManager 11 | { 12 | private static readonly Lazy lazy = new Lazy(() => new DocumentManager()); 13 | public static DocumentManager Instance { get { return lazy.Value; } } 14 | public UIDocument UIDoc { get; private set; } 15 | public Document Doc { get; private set; } 16 | private DocumentManager() { } 17 | public void Initialize(UIDocument activeUIDocument, Document document) 18 | { 19 | if (UIDoc == null) 20 | { 21 | UIDoc = activeUIDocument; 22 | } 23 | if (Doc == null) 24 | { 25 | Doc = document; 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /revit-shared-utilities/ToolsClass.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using MoreLinq; 5 | using System.Data; 6 | using System.Windows.Forms; 7 | using Autodesk.Revit.UI; 8 | using Autodesk.Revit.DB; 9 | using Autodesk.Revit.DB.Plumbing; 10 | using Autodesk.Revit.DB.Structure; 11 | using Shared; 12 | using fi = Shared.Filter; 13 | using op = Shared.Output; 14 | using tr = Shared.Transformation; 15 | using mp = Shared.MepUtils; 16 | 17 | 18 | namespace Shared.Tools 19 | { 20 | public class AnalysisTools 21 | { 22 | public static Result FormCaller(ExternalCommandData cData) 23 | { 24 | Tools tools = new Tools(Cursor.Position.X, Cursor.Position.Y); 25 | tools.ShowDialog(); 26 | //mepuc.Close(); 27 | 28 | if (tools.MethodToExecute == null) return Result.Cancelled; 29 | 30 | return tools.MethodToExecute.Invoke(cData); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /revit-shared-utilities-shared/ToolsClass.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using MoreLinq; 5 | using System.Data; 6 | using System.Windows.Forms; 7 | using Autodesk.Revit.UI; 8 | using Autodesk.Revit.DB; 9 | using Autodesk.Revit.DB.Plumbing; 10 | using Autodesk.Revit.DB.Structure; 11 | using Shared; 12 | using fi = Shared.Filter; 13 | using op = Shared.Output; 14 | using tr = Shared.Transformation; 15 | using mp = Shared.MepUtils; 16 | 17 | 18 | namespace Shared.Tools 19 | { 20 | public class AnalysisTools 21 | { 22 | public static Result FormCaller(ExternalCommandData cData) 23 | { 24 | Tools tools = new Tools(Cursor.Position.X, Cursor.Position.Y); 25 | tools.ShowDialog(); 26 | //mepuc.Close(); 27 | 28 | if (tools.MethodToExecute == null) return Result.Cancelled; 29 | 30 | return tools.MethodToExecute.Invoke(cData); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /MEPUtils/MEPUtilsClass.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using MoreLinq; 5 | using System.Data; 6 | using System.Windows.Forms; 7 | using Autodesk.Revit.UI; 8 | using Autodesk.Revit.DB; 9 | using Autodesk.Revit.DB.Plumbing; 10 | using Autodesk.Revit.DB.Structure; 11 | using Shared; 12 | using fi = Shared.Filter; 13 | using op = Shared.Output; 14 | using tr = Shared.Transformation; 15 | using mp = Shared.MepUtils; 16 | 17 | 18 | namespace MEPUtils 19 | { 20 | public class MEPUtilsClass 21 | { 22 | public static Result FormCaller(ExternalCommandData cData) 23 | { 24 | MEPUtilsChooser mepuc = new MEPUtilsChooser(Cursor.Position.X, Cursor.Position.Y); 25 | mepuc.ShowDialog(); 26 | //mepuc.Close(); 27 | 28 | if (mepuc.MethodToExecute == null) return Result.Cancelled; 29 | 30 | return mepuc.MethodToExecute.Invoke(cData.Application); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /MEPUtils-SHARED/MEPUtilsClass.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using MoreLinq; 5 | using System.Data; 6 | using System.Windows.Forms; 7 | using Autodesk.Revit.UI; 8 | using Autodesk.Revit.DB; 9 | using Autodesk.Revit.DB.Plumbing; 10 | using Autodesk.Revit.DB.Structure; 11 | using Shared; 12 | using fi = Shared.Filter; 13 | using op = Shared.Output; 14 | using tr = Shared.Transformation; 15 | using mp = Shared.MepUtils; 16 | 17 | 18 | namespace MEPUtils 19 | { 20 | public class MEPUtilsClass 21 | { 22 | public static Result FormCaller(ExternalCommandData cData) 23 | { 24 | MEPUtilsChooser mepuc = new MEPUtilsChooser(Cursor.Position.X, Cursor.Position.Y); 25 | mepuc.ShowDialog(); 26 | //mepuc.Close(); 27 | 28 | if (mepuc.MethodToExecute == null) return Result.Cancelled; 29 | 30 | return mepuc.MethodToExecute.Invoke(cData.Application); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /MEPUtils/00 SharedStaging/01 SharedStaging.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Mechanical; 3 | using Autodesk.Revit.DB.Plumbing; 4 | using Autodesk.Revit.DB.Structure; 5 | using Autodesk.Revit.UI; 6 | using Autodesk.Revit.UI.Events; 7 | using Autodesk.Revit.UI.Selection; 8 | using MEPUtils.SharedStaging; 9 | using Microsoft.WindowsAPICodePack.Dialogs; 10 | using MoreLinq; 11 | using Shared; 12 | using System; 13 | using System.Collections.Generic; 14 | using System.Diagnostics; 15 | using System.IO; 16 | using System.Linq; 17 | using System.Runtime.Serialization; 18 | using System.Runtime.Serialization.Json; 19 | using System.Text; 20 | using System.Windows.Input; 21 | using dbg = Shared.Dbg; 22 | using fi = Shared.Filter; 23 | using lad = MEPUtils.CreateInstrumentation.ListsAndDicts; 24 | using mp = Shared.MepUtils; 25 | using tr = Shared.Transformation; 26 | 27 | 28 | namespace MEPUtils.SharedStaging 29 | { 30 | public static class ExtensionsStaging 31 | { 32 | 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_Pipe.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_PIPE : PCF_EP1_EP2 14 | { 15 | public PCF_PIPE(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(base.WriteSpecificData()); 21 | 22 | var spec = plst.PCF_ELEM_SPEC.GetValue(Element); 23 | if (spec.IsNotNoE()) 24 | { 25 | sb.Append( 26 | SpecManager.SpecManager.GetWALLTHICKNESS( 27 | spec, Conversion.PipeSizeToMm(Cons.Primary.Radius))); 28 | } 29 | 30 | return sb; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /PDFExporter/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | True 13 | 14 | 15 | False 16 | 17 | 18 | False 19 | 20 | 21 | -------------------------------------------------------------------------------- /Data-SHARED/Data-SHARED.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | b67c53a5-3a99-40c5-bfe6-bd000a80bbda 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MEPUtils-SHARED/MEPUtils-SHARED.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 03f00fd4-e636-4a10-aec7-706e13c7b1ab 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /PDFExporter-SHARED/PDFExporter-SHARED.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1dd9d402-aeb0-4c17-96f6-2c0fbbf840bb 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /PDFExporter/PDFExporter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using MoreLinq; 5 | using System.Data; 6 | using Autodesk.Revit.UI; 7 | using Autodesk.Revit.DB; 8 | using Autodesk.Revit.DB.Plumbing; 9 | using Autodesk.Revit.DB.Structure; 10 | using Autodesk.Revit.UI.Selection; 11 | using Shared; 12 | using fi = Shared.Filter; 13 | using op = Shared.Output; 14 | using tr = Shared.Transformation; 15 | using mp = Shared.MepUtils; 16 | using mySettings = PDFExporter.Properties.Settings; 17 | 18 | namespace PDFExporter 19 | { 20 | public static class PDFExporter 21 | { 22 | public static Result ExportPDF(ExternalCommandData cData) 23 | { 24 | try 25 | { 26 | PDFExporterForm ef = new PDFExporterForm(cData); 27 | ef.ShowDialog(); 28 | mySettings.Default.Save(); 29 | return Result.Succeeded; 30 | 31 | } 32 | catch (Exception e) 33 | { 34 | throw new Exception(e.Message); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /RibbonPanel-SHARED/RibbonPanel-SHARED.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | b35f4ebb-90f8-4f1f-b2cc-5229a671f142 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /PDFExporter-SHARED/PDFExporter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using MoreLinq; 5 | using System.Data; 6 | using Autodesk.Revit.UI; 7 | using Autodesk.Revit.DB; 8 | using Autodesk.Revit.DB.Plumbing; 9 | using Autodesk.Revit.DB.Structure; 10 | using Autodesk.Revit.UI.Selection; 11 | using Shared; 12 | using fi = Shared.Filter; 13 | using op = Shared.Output; 14 | using tr = Shared.Transformation; 15 | using mp = Shared.MepUtils; 16 | using mySettings = PDFExporter.Properties.Settings; 17 | 18 | namespace PDFExporter 19 | { 20 | public static class PDFExporter 21 | { 22 | public static Result ExportPDF(ExternalCommandData cData) 23 | { 24 | try 25 | { 26 | PDFExporterForm ef = new PDFExporterForm(cData); 27 | ef.ShowDialog(); 28 | mySettings.Default.Save(); 29 | return Result.Succeeded; 30 | 31 | } 32 | catch (Exception e) 33 | { 34 | throw new Exception(e.Message); 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ModelessForms-SHARED/ModelessForms-SHARED.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18f8030b-e17e-4689-a026-259383db16dd 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /revit-ntr-exporter-SHARED/revit-ntr-exporter-SHARED.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | a2702701-d0a0-49c9-9e85-30a96a53829c 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/revit-pcf-exporter-shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5c3bdad7-6fce-42a5-bfb9-9c057a7ce6f8 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /revit-shared-utilities-shared/revit-shared-utilities-shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 37ce9a72-66e2-4a2d-a756-6e8158c9df5a 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MEPUtils/license.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2009 - 2010 Microsoft Coropration, then modifications by Peter William Wagner 2017 - 2021 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_ELBOW.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_ELBOW : PCF_EP1_EP2_CPFI 14 | { 15 | public PCF_ELBOW(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(base.WriteSpecificData()); 21 | 22 | sb.Append(" ANGLE "); 23 | 24 | Parameter par = Element.LookupParameter("Angle"); 25 | if (par == null) par = Element.LookupParameter("angle"); 26 | if (par == null) throw new Exception($"\"Angle\" parameter on elbow {Element.Id} does not exist or is named differently!"); 27 | sb.Append((Conversion.RadianToDegree(par.AsDouble()) * 100).ToString("0")); 28 | sb.AppendLine(); 29 | 30 | return sb; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /PDFExporter/license.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2009 - 2010 Microsoft Coropration, then modifications by Peter William Wagner 2017 - 2021 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /ModelessForms/03 SearchAndSelect/TreeViewUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows.Forms; 7 | 8 | namespace ModelessForms.SearchAndSelect 9 | { 10 | public static class TreeViewUtils 11 | { 12 | public static TreeNode FindTreeNodeByFullPath(this TreeNodeCollection collection, string fullPath, StringComparison comparison = StringComparison.InvariantCultureIgnoreCase) 13 | { 14 | var foundNode = collection.Cast().FirstOrDefault(tn => string.Equals(tn.FullPath, fullPath, comparison)); 15 | if (null == foundNode) 16 | { 17 | foreach (var childNode in collection.Cast()) 18 | { 19 | var foundChildNode = FindTreeNodeByFullPath(childNode.Nodes, fullPath, comparison); 20 | if (null != foundChildNode) 21 | { 22 | return foundChildNode; 23 | } 24 | } 25 | } 26 | return foundNode; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/license.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2009 - 2010 Microsoft Coropration, then modifications by Peter William Wagner 2017 - 2021 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /MEPUtils/08 SupportsTools/00 SupportsToolsMain.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using MoreLinq; 5 | using System.Windows.Forms; 6 | using Autodesk.Revit.UI; 7 | using Autodesk.Revit.DB; 8 | using Autodesk.Revit.DB.Plumbing; 9 | using Autodesk.Revit.DB.Structure; 10 | using Shared; 11 | using fi = Shared.Filter; 12 | using op = Shared.Output; 13 | using tr = Shared.Transformation; 14 | using mp = Shared.MepUtils; 15 | 16 | namespace MEPUtils.SupportTools 17 | { 18 | public class SupportToolsMain 19 | { 20 | public static Result CallForm(UIApplication uiApp) 21 | { 22 | Document doc = uiApp.ActiveUIDocument.Document; 23 | UIDocument uidoc = uiApp.ActiveUIDocument; 24 | 25 | SupportTools st = new SupportTools(Cursor.Position.X, Cursor.Position.Y); 26 | st.ShowDialog(); 27 | //mepuc.Close(); 28 | 29 | if (st.ToolToInvoke == null || 30 | st.Cancelled) return Result.Cancelled; 31 | 32 | st.ToolToInvoke.Invoke(uiApp); 33 | 34 | return Result.Succeeded; 35 | } 36 | } 37 | } 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /ModelessForms-SHARED/03 SearchAndSelect/TreeViewUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows.Forms; 7 | 8 | namespace ModelessForms.SearchAndSelect 9 | { 10 | public static class TreeViewUtils 11 | { 12 | public static TreeNode FindTreeNodeByFullPath(this TreeNodeCollection collection, string fullPath, StringComparison comparison = StringComparison.InvariantCultureIgnoreCase) 13 | { 14 | var foundNode = collection.Cast().FirstOrDefault(tn => string.Equals(tn.FullPath, fullPath, comparison)); 15 | if (null == foundNode) 16 | { 17 | foreach (var childNode in collection.Cast()) 18 | { 19 | var foundChildNode = FindTreeNodeByFullPath(childNode.Nodes, fullPath, comparison); 20 | if (null != foundChildNode) 21 | { 22 | return foundChildNode; 23 | } 24 | } 25 | } 26 | return foundNode; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ModelessForms/EventHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Windows.Forms; 5 | using WinForms = System.Windows.Forms; 6 | using System.IO; 7 | using System.Windows.Media.Imaging; 8 | using System.Reflection; 9 | using System.Linq; 10 | using System.Diagnostics; 11 | 12 | using Autodesk; 13 | using Autodesk.Revit; 14 | using Autodesk.Revit.DB; 15 | using Autodesk.Revit.UI; 16 | using Autodesk.Revit.ApplicationServices; 17 | using Autodesk.Revit.UI.Selection; 18 | 19 | namespace ModelessForms 20 | { 21 | public class ExternalEventHandler : IExternalEventHandler 22 | { 23 | Application ThisApp; 24 | 25 | public ExternalEventHandler(Application thisApp) 26 | { 27 | ThisApp = thisApp; 28 | } 29 | 30 | public void Execute(UIApplication app) 31 | { 32 | UIDocument uidoc = app.ActiveUIDocument; 33 | Document doc = uidoc.Document; 34 | 35 | ThisApp.asyncCommand.Execute(app); 36 | } 37 | 38 | public string GetName() 39 | { 40 | return "Update parameter data"; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCF_Output.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | using Autodesk.Revit.DB; 5 | using iv = PCF_Functions.InputVars; 6 | using mySettings = PCF_Exporter.Properties.Settings; 7 | 8 | namespace PCF_Output 9 | { 10 | public class Output 11 | { 12 | public void OutputWriter(StringBuilder _collect) 13 | { 14 | ////Clear the output file 15 | //System.IO.File.WriteAllBytes(filename, new byte[0]); 16 | ; 17 | // Write to output file 18 | 19 | if (mySettings.Default.radioButton17UTF8_BOM) 20 | { 21 | using (StreamWriter w = new StreamWriter(iv.FullFileName, false, Encoding.UTF8)) 22 | { 23 | w.Write(_collect); 24 | w.Close(); 25 | } 26 | } 27 | else 28 | { 29 | using (StreamWriter w = new StreamWriter(iv.FullFileName, false, Encoding.Default)) 30 | { 31 | w.Write(_collect); 32 | w.Close(); 33 | } 34 | } 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /MEPUtils-SHARED/08 SupportsTools/00 SupportsToolsMain.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using MoreLinq; 5 | using System.Windows.Forms; 6 | using Autodesk.Revit.UI; 7 | using Autodesk.Revit.DB; 8 | using Autodesk.Revit.DB.Plumbing; 9 | using Autodesk.Revit.DB.Structure; 10 | using Shared; 11 | using fi = Shared.Filter; 12 | using op = Shared.Output; 13 | using tr = Shared.Transformation; 14 | using mp = Shared.MepUtils; 15 | 16 | namespace MEPUtils.SupportTools 17 | { 18 | public class SupportToolsMain 19 | { 20 | public static Result CallForm(UIApplication uiApp) 21 | { 22 | Document doc = uiApp.ActiveUIDocument.Document; 23 | UIDocument uidoc = uiApp.ActiveUIDocument; 24 | 25 | SupportTools st = new SupportTools(Cursor.Position.X, Cursor.Position.Y); 26 | st.ShowDialog(); 27 | //mepuc.Close(); 28 | 29 | if (st.ToolToInvoke == null || 30 | st.Cancelled) return Result.Cancelled; 31 | 32 | st.ToolToInvoke.Invoke(uiApp); 33 | 34 | return Result.Succeeded; 35 | } 36 | } 37 | } 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /ModelessForms-SHARED/EventHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Windows.Forms; 5 | using WinForms = System.Windows.Forms; 6 | using System.IO; 7 | using System.Windows.Media.Imaging; 8 | using System.Reflection; 9 | using System.Linq; 10 | using System.Diagnostics; 11 | 12 | using Autodesk; 13 | using Autodesk.Revit; 14 | using Autodesk.Revit.DB; 15 | using Autodesk.Revit.UI; 16 | using Autodesk.Revit.ApplicationServices; 17 | using Autodesk.Revit.UI.Selection; 18 | 19 | namespace ModelessForms 20 | { 21 | public class ExternalEventHandler : IExternalEventHandler 22 | { 23 | Application ThisApp; 24 | 25 | public ExternalEventHandler(Application thisApp) 26 | { 27 | ThisApp = thisApp; 28 | } 29 | 30 | public void Execute(UIApplication app) 31 | { 32 | UIDocument uidoc = app.ActiveUIDocument; 33 | Document doc = uidoc.Document; 34 | 35 | ThisApp.asyncCommand.Execute(app); 36 | } 37 | 38 | public string GetName() 39 | { 40 | return "Update parameter data"; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/VirtualElement/PCF_VIRTUAL_ISOSPLITPOINT.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | 7 | using plst = PCF_Functions.Parameters; 8 | using ew = PCF_Functions.EndWriter; 9 | 10 | namespace PCF_Model 11 | { 12 | internal class PCF_VIRTUAL_ISOSPLITPOINT : PcfVirtualElement 13 | { 14 | private Element Element; 15 | private Element Element2; 16 | private (Connector c1, Connector c2) Cons; 17 | 18 | public override ElementId ElementId => Element.Id; 19 | public override HashSet AllConnectors => new HashSet() { Cons.c1, Cons.c2 }; 20 | public override bool ParticipateInMaterialTable => false; 21 | public PCF_VIRTUAL_ISOSPLITPOINT((Connector c1, Connector c2) cons) : base("ISO-SPLIT-POINT") 22 | { 23 | this.Cons = cons; 24 | 25 | Element = cons.c1.Owner; 26 | Element2 = cons.c2.Owner; 27 | 28 | var centre = (cons.c1.Origin + cons.c2.Origin) / 2; 29 | 30 | endData.Add($" CO-ORDS {ew.PointStringMm(centre)}"); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /revit-pcf-exporter/PCF_Output.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | using Autodesk.Revit.DB; 5 | using iv = PCF_Functions.InputVars; 6 | using mySettings = PCF_Exporter.Properties.Settings; 7 | 8 | namespace PCF_Output 9 | { 10 | public class Output 11 | { 12 | public void OutputWriter(StringBuilder _collect) 13 | { 14 | ////Clear the output file 15 | //System.IO.File.WriteAllBytes(filename, new byte[0]); 16 | 17 | // Write to output file 18 | 19 | if (mySettings.Default.radioButton17UTF8_BOM) 20 | { 21 | using (StreamWriter w = new StreamWriter(iv.FullFileName, false, Encoding.UTF8)) 22 | { 23 | w.Write(_collect); 24 | w.Close(); 25 | } 26 | } 27 | else 28 | { 29 | using (StreamWriter w = new StreamWriter(iv.FullFileName, false, Encoding.Default)) 30 | { 31 | w.Write(_collect); 32 | w.Close(); 33 | } 34 | } 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /revit-shared-utilities/04 Get element by UCI/InputBoxBasic.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Input; 3 | using System.Collections.Generic; 4 | using System.ComponentModel; 5 | using System.Data; 6 | using System.Drawing; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using System.Windows.Forms; 11 | using Shared; 12 | 13 | namespace Shared.Tools 14 | { 15 | public partial class InputBoxBasic : Form 16 | { 17 | public string InputText; 18 | 19 | public InputBoxBasic() 20 | { 21 | InitializeComponent(); 22 | textBox1.SelectionStart = 0; 23 | textBox1.SelectionLength = textBox1.Text.Length; 24 | } 25 | 26 | //private void textBox1_TextChanged(object sender, EventArgs e) => DistanceToKeep = textBox1.Text; 27 | 28 | private void InputBoxBasic_FormClosing(object sender, FormClosingEventArgs e) 29 | { 30 | InputText = textBox1.Text; 31 | } 32 | 33 | private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) 34 | { 35 | if (e.KeyCode == Keys.Enter) this.Close(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /revit-shared-utilities-shared/04 Get element by UCI/InputBoxBasic.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Input; 3 | using System.Collections.Generic; 4 | using System.ComponentModel; 5 | using System.Data; 6 | using System.Drawing; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using System.Windows.Forms; 11 | using Shared; 12 | 13 | namespace Shared.Tools 14 | { 15 | public partial class InputBoxBasic : Form 16 | { 17 | public string InputText; 18 | 19 | public InputBoxBasic() 20 | { 21 | InitializeComponent(); 22 | textBox1.SelectionStart = 0; 23 | textBox1.SelectionLength = textBox1.Text.Length; 24 | } 25 | 26 | //private void textBox1_TextChanged(object sender, EventArgs e) => DistanceToKeep = textBox1.Text; 27 | 28 | private void InputBoxBasic_FormClosing(object sender, FormClosingEventArgs e) 29 | { 30 | InputText = textBox1.Text; 31 | } 32 | 33 | private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) 34 | { 35 | if (e.KeyCode == Keys.Enter) this.Close(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /revit-ntr-exporter/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /revit-cii-neutral-exporter/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /revit-mep-system-traversal/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /revit-ntr-exporter-2022/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /revit-ntr-exporter-2024/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_VALVE-ANGLE.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_VALVE_ANGLE : PCF_EP1_EP2 14 | { 15 | public PCF_VALVE_ANGLE(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(base.WriteSpecificData()); 21 | 22 | //The centre point is obtained by creating an bound line from 23 | //primary connector and projecting the secondary point on the line. 24 | XYZ reverseConnectorVector = -Cons.Primary.CoordinateSystem.BasisZ; 25 | Line primaryLine = Line.CreateBound( 26 | Cons.Primary.Origin, Cons.Primary.Origin + reverseConnectorVector * 10); 27 | XYZ centrePoint = primaryLine.Project(Cons.Secondary.Origin).XYZPoint; 28 | 29 | sb.Append(EndWriter.WriteCP(centrePoint)); 30 | 31 | return sb; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /ModelessForms-SHARED/03 SearchAndSelect/01 SearchAndSelect.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Plumbing; 3 | using Autodesk.Revit.DB.Structure; 4 | using Autodesk.Revit.DB.Mechanical; 5 | using Autodesk.Revit.UI; 6 | using Autodesk.Revit.UI.Selection; 7 | using MoreLinq; 8 | using Shared; 9 | using System; 10 | using System.Collections.Generic; 11 | using System.IO; 12 | using System.Linq; 13 | using System.Runtime.Serialization; 14 | using System.Runtime.Serialization.Json; 15 | using System.Text; 16 | using System.Windows.Input; 17 | using Autodesk.Revit.Attributes; 18 | using NLog; 19 | 20 | namespace ModelessForms.SearchAndSelect 21 | { 22 | [Transaction(TransactionMode.Manual)] 23 | public class SearchAndSelect : IExternalCommand 24 | { 25 | private static readonly NLog.Logger log = NLog.LogManager.GetCurrentClassLogger(); 26 | 27 | public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) 28 | { 29 | UIApplication uiApp = commandData.Application; 30 | Document doc = commandData.Application.ActiveUIDocument.Document; 31 | UIDocument uidoc = uiApp.ActiveUIDocument; 32 | 33 | return Result.Succeeded; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/PhysicalElement/PCF_FLANGE.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | 3 | using Shared; 4 | using PCF_Functions; 5 | using plst = PCF_Functions.Parameters; 6 | 7 | using System; 8 | using System.Collections.Generic; 9 | using System.Text; 10 | 11 | namespace PCF_Model 12 | { 13 | internal class PCF_FLANGE : PcfPhysicalElement 14 | { 15 | public PCF_FLANGE(Element element) : base(element) { } 16 | protected override StringBuilder WriteSpecificData() 17 | { 18 | StringBuilder sb = new StringBuilder(); 19 | 20 | sb.Append(EndWriter.WriteEP1(Element, Cons.Secondary)); 21 | 22 | var pakning = Element.LookupParameter("Pakning"); 23 | if (pakning != null && pakning.AsInteger() == 1) 24 | { 25 | XYZ dir = -Cons.Primary.CoordinateSystem.BasisZ.Normalize(); 26 | XYZ modifiedPosition = Cons.Primary.Origin + dir * 1.5.MmToFt(); 27 | 28 | sb.Append(EndWriter.WriteEP2(Element, Cons.Primary, modifiedPosition)); 29 | } 30 | else 31 | { 32 | sb.Append(EndWriter.WriteEP2(Element, Cons.Primary)); 33 | } 34 | 35 | return sb; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ModelessForms/03 SearchAndSelect/01 SearchAndSelect.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Plumbing; 3 | using Autodesk.Revit.DB.Structure; 4 | using Autodesk.Revit.DB.Mechanical; 5 | using Autodesk.Revit.UI; 6 | using Autodesk.Revit.UI.Selection; 7 | using MEPUtils.SharedStaging; 8 | using MoreLinq; 9 | using Shared; 10 | using System; 11 | using System.Collections.Generic; 12 | using System.IO; 13 | using System.Linq; 14 | using System.Runtime.Serialization; 15 | using System.Runtime.Serialization.Json; 16 | using System.Text; 17 | using System.Windows.Input; 18 | using Autodesk.Revit.Attributes; 19 | using NLog; 20 | 21 | namespace ModelessForms.SearchAndSelect 22 | { 23 | [Transaction(TransactionMode.Manual)] 24 | public class SearchAndSelect : IExternalCommand 25 | { 26 | private static readonly NLog.Logger log = NLog.LogManager.GetCurrentClassLogger(); 27 | 28 | public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) 29 | { 30 | UIApplication uiApp = commandData.Application; 31 | Document doc = commandData.Application.ActiveUIDocument.Document; 32 | UIDocument uidoc = uiApp.ActiveUIDocument; 33 | 34 | return Result.Succeeded; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCF_Pipeline_StartPoint.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.IO; 6 | using System.Data; 7 | using Autodesk.Revit.DB; 8 | using Autodesk.Revit.DB.Plumbing; 9 | using Shared.BuildingCoder; 10 | using Shared; 11 | using PCF_Model; 12 | 13 | namespace PCF_Pipeline 14 | { 15 | public static class StartPoint 16 | { 17 | internal static StringBuilder WriteStartPoint( 18 | string sysAbbr, HashSet startPoints) 19 | { 20 | StringBuilder sb = new StringBuilder(); 21 | if (!startPoints.Any(x => x.SystemAbbreviation == sysAbbr)) return sb; 22 | 23 | var sps = startPoints.Where(x => x.SystemAbbreviation == sysAbbr); 24 | if (sps.Count() > 1) 25 | { 26 | throw new Exception($"Multiple start points ({sps.Count()}) for the same system {sysAbbr}!\n" + 27 | $"{string.Join("\n", sps.Select(x => x.ElementId))}"); 28 | } 29 | 30 | var startPoint = sps.First() as PCF_VIRTUAL_STARTPOINT; 31 | sb.AppendLine($" START-CO-ORDS {PCF_Functions.EndWriter.PointStringMm(startPoint.Location)}"); 32 | return sb; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /ModelessForms-2022/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /ModelessForms-2024/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /revit-pcf-exporter-2022/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /revit-pcf-exporter-2024/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /ModelessForms/Settings.cs: -------------------------------------------------------------------------------- 1 | namespace ModelessForms.Properties { 2 | 3 | 4 | // This class allows you to handle specific events on the settings class: 5 | // The SettingChanging event is raised before a setting's value is changed. 6 | // The PropertyChanged event is raised after a setting's value is changed. 7 | // The SettingsLoaded event is raised after the setting values are loaded. 8 | // The SettingsSaving event is raised before the setting values are saved. 9 | internal sealed partial class Settings { 10 | 11 | public Settings() { 12 | // // To add event handlers for saving and changing settings, uncomment the lines below: 13 | // 14 | // this.SettingChanging += this.SettingChangingEventHandler; 15 | // 16 | // this.SettingsSaving += this.SettingsSavingEventHandler; 17 | // 18 | } 19 | 20 | private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) { 21 | // Add code to handle the SettingChangingEvent event here. 22 | } 23 | 24 | private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) { 25 | // Add code to handle the SettingsSaving event here. 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ModelessForms/04 GeometryValidator/ConnectorValidationContainer.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using Data; 8 | 9 | namespace ModelessForms.GeometryValidator 10 | { 11 | public class ConnectorValidationContainer 12 | { 13 | public string SystemToValidate { get; set; } 14 | public List ValidationResult { get; set; } 15 | = new List(); 16 | } 17 | 18 | public class ConnectorValidationResult 19 | { 20 | public double LongestDist; 21 | public List<(string coords, ElementId id)> Data = new List<(string coords, ElementId id)> (); 22 | } 23 | 24 | public delegate void EventHandler(object source, MyEventArgs e); 25 | public class MyEventArgs : EventArgs 26 | { 27 | private string EventInfo; 28 | public MyEventArgs(string Text) => EventInfo = Text; 29 | public string GetInfo() => EventInfo; 30 | } 31 | public static class EventHelper 32 | { 33 | public static void Raise(this EventHandler eventHandler, object sender, MyEventArgs args) 34 | { 35 | if (eventHandler == null) return; 36 | eventHandler(sender, args); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /ModelessForms-SHARED/04 GeometryValidator/ConnectorValidationContainer.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using Data; 8 | 9 | namespace ModelessForms.GeometryValidator 10 | { 11 | public class ConnectorValidationContainer 12 | { 13 | public string SystemToValidate { get; set; } 14 | public List ValidationResult { get; set; } 15 | = new List(); 16 | } 17 | 18 | public class ConnectorValidationResult 19 | { 20 | public double LongestDist; 21 | public List<(string coords, ElementId id)> Data = new List<(string coords, ElementId id)> (); 22 | } 23 | 24 | public delegate void EventHandler(object source, MyEventArgs e); 25 | public class MyEventArgs : EventArgs 26 | { 27 | private string EventInfo; 28 | public MyEventArgs(string Text) => EventInfo = Text; 29 | public string GetInfo() => EventInfo; 30 | } 31 | public static class EventHelper 32 | { 33 | public static void Raise(this EventHandler eventHandler, object sender, MyEventArgs args) 34 | { 35 | if (eventHandler == null) return; 36 | eventHandler(sender, args); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Revit_Piping_Analysis.addin: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | X:\GitHub\shtirlitsDva\Revit-PCF-Exporter\revit-pcf-exporter\bin\Release\PCF-Exporter.dll 5 | 73348466-3f81-4752-8283-1b5dd6b04c3b 6 | PCF_Exporter.App 7 | PCF Tools 8 | MGTek 9 | MGTek, info@mgtek.dk 10 | 11 | 12 | X:\GitHub\shtirlitsDva\Revit-PCF-Exporter\revit-ntr-exporter\bin\Release\Revit-NTR-Exporter.dll 13 | 153AE0AE-57EA-4D3A-8209-69B9F5F3FA18 14 | NTR_Exporter.App 15 | NTR Tools 16 | MGTek 17 | MGTek, info@mgtek.dk 18 | 19 | 20 | X:\GitHub\shtirlitsDva\Revit-PCF-Exporter\revit-shared-utilities\bin\Release\mg.revit-shared-utilities.dll 21 | 41992AB4-EBC1-4B42-BB0A-D2675F3EE5A6 22 | Shared.App 23 | Analysis Tools 24 | MGTek 25 | MGTek, info@mgtek.dk 26 | 27 | 28 | -------------------------------------------------------------------------------- /revit-pcf-exporter/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /revit-shared-utilities-FORMS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("MEPUtils.Properties")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("MEPUtils.Properties")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("09350695-d40c-46c7-8e25-88fef770d01f")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | [assembly: AssemblyVersion("1.0.0.*")] 33 | [assembly: AssemblyFileVersion("1.0.0.0")] 34 | -------------------------------------------------------------------------------- /MEPUtils/10 MoveToDistance/InputBoxBasic.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Input; 3 | using System.Collections.Generic; 4 | using System.ComponentModel; 5 | using System.Data; 6 | using System.Drawing; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using System.Windows.Forms; 11 | using Shared; 12 | using stgs = MEPUtils.Properties.Settings; 13 | 14 | namespace MEPUtils.MoveToDistance 15 | { 16 | public partial class InputBoxBasic : Form 17 | { 18 | public string DistanceToKeep; 19 | 20 | public InputBoxBasic() 21 | { 22 | InitializeComponent(); 23 | if (!stgs.Default.MoveToDistance_DistanceValueFromLast.IsNullOrEmpty()) textBox1.Text = stgs.Default.MoveToDistance_DistanceValueFromLast; 24 | textBox1.SelectionStart = 0; 25 | textBox1.SelectionLength = textBox1.Text.Length; 26 | } 27 | 28 | //private void textBox1_TextChanged(object sender, EventArgs e) => DistanceToKeep = textBox1.Text; 29 | 30 | private void InputBoxBasic_FormClosing(object sender, FormClosingEventArgs e) 31 | { 32 | DistanceToKeep = textBox1.Text; 33 | stgs.Default.Save(); 34 | } 35 | 36 | private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) 37 | { 38 | if (e.KeyCode == Keys.Enter) this.Close(); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /MEPUtils-SHARED/10 MoveToDistance/InputBoxBasic.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Input; 3 | using System.Collections.Generic; 4 | using System.ComponentModel; 5 | using System.Data; 6 | using System.Drawing; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using System.Windows.Forms; 11 | using Shared; 12 | using stgs = MEPUtils.Properties.Settings; 13 | 14 | namespace MEPUtils.MoveToDistance 15 | { 16 | public partial class InputBoxBasic : Form 17 | { 18 | public string DistanceToKeep; 19 | 20 | public InputBoxBasic() 21 | { 22 | InitializeComponent(); 23 | if (!stgs.Default.MoveToDistance_DistanceValueFromLast.IsNullOrEmpty()) textBox1.Text = stgs.Default.MoveToDistance_DistanceValueFromLast; 24 | textBox1.SelectionStart = 0; 25 | textBox1.SelectionLength = textBox1.Text.Length; 26 | } 27 | 28 | //private void textBox1_TextChanged(object sender, EventArgs e) => DistanceToKeep = textBox1.Text; 29 | 30 | private void InputBoxBasic_FormClosing(object sender, FormClosingEventArgs e) 31 | { 32 | DistanceToKeep = textBox1.Text; 33 | stgs.Default.Save(); 34 | } 35 | 36 | private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) 37 | { 38 | if (e.KeyCode == Keys.Enter) this.Close(); 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /RibbonPanel/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("MyRevitUtils")] 9 | [assembly: AssemblyDescription("A collection of utilities for efficient Revit working.")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("MGTek")] 12 | [assembly: AssemblyProduct("MyRibbonPanel.Properties")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("5d156e63-4303-49be-9784-feb2e49ea3ff")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | [assembly: AssemblyVersion("2021.1.1.*")] 33 | [assembly: AssemblyFileVersion("2021.1.1.1")] 34 | -------------------------------------------------------------------------------- /revit-pcf-exporter-shared/PCFElementModel/VirtualElement/PCF_VIRTUAL_FIELDWELD.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Structure; 3 | 4 | using PCF_Model; 5 | using Shared; 6 | using plst = PCF_Functions.Parameters; 7 | using ew = PCF_Functions.EndWriter; 8 | 9 | using System; 10 | using System.Collections.Generic; 11 | using System.Text; 12 | 13 | namespace PCF_Model 14 | { 15 | internal class PCF_VIRTUAL_FIELDWELD : PcfVirtualElement 16 | { 17 | private Element Element; 18 | private Element Element2; 19 | private (Connector c1, Connector c2) Cons; 20 | 21 | public override ElementId ElementId => Element.Id; 22 | public override HashSet AllConnectors => new HashSet() { Cons.c1, Cons.c2 }; 23 | 24 | public PCF_VIRTUAL_FIELDWELD((Connector c1, Connector c2) cons) : base("WELD") 25 | { 26 | this.Cons = cons; 27 | 28 | Element = cons.c1.Owner; 29 | Element2 = cons.c2.Owner; 30 | 31 | pcfData.Add(plst.PCF_ELEM_SKEY, "WS"); 32 | pcfData.Add(plst.PCF_ELEM_CATEGORY, "ERECTION"); 33 | pcfData.Add(plst.PCF_MAT_DESCR, "Field Weld"); 34 | 35 | endData.Add($" END-POINT {ew.PointStringMm(cons.c1.Origin)} {Conversion.PipeSizeToMm(cons.c1.Radius)} BW"); 36 | endData.Add($" END-POINT {ew.PointStringMm(cons.c2.Origin)} {Conversion.PipeSizeToMm(cons.c2.Radius)} BW"); 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /revit-shared-utilities/04 Get element by UCI/01 Get e by UCI.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Plumbing; 3 | using Autodesk.Revit.DB.Structure; 4 | using Autodesk.Revit.UI; 5 | using Autodesk.Revit.UI.Selection; 6 | using MoreLinq; 7 | using Shared; 8 | using System; 9 | using System.Collections.Generic; 10 | using System.Globalization; 11 | using System.Linq; 12 | using System.Runtime.Serialization; 13 | using System.Runtime.Serialization.Json; 14 | using dbg = Shared.Dbg; 15 | using fi = Shared.Filter; 16 | using mp = Shared.MepUtils; 17 | using tr = Shared.Transformation; 18 | 19 | namespace Shared.Tools 20 | { 21 | class GetElementByUCI 22 | { 23 | public static Result GetEByUCI(ExternalCommandData cData) 24 | { 25 | UIApplication uiApp = cData.Application; 26 | Document doc = cData.Application.ActiveUIDocument.Document; 27 | UIDocument uidoc = uiApp.ActiveUIDocument; 28 | 29 | //Ask for a UCI input 30 | InputBoxBasic ds = new InputBoxBasic(); 31 | ds.ShowDialog(); 32 | 33 | Element element = doc.GetElement(ds.InputText); 34 | if (element == null) return Result.Failed; 35 | List ids = new List(1); 36 | ids.Add(element.Id); 37 | 38 | Selection selection = uidoc.Selection; 39 | selection.SetElementIds(ids); 40 | 41 | return Result.Succeeded; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /revit-shared-utilities-shared/04 Get element by UCI/01 Get e by UCI.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Plumbing; 3 | using Autodesk.Revit.DB.Structure; 4 | using Autodesk.Revit.UI; 5 | using Autodesk.Revit.UI.Selection; 6 | using MoreLinq; 7 | using Shared; 8 | using System; 9 | using System.Collections.Generic; 10 | using System.Globalization; 11 | using System.Linq; 12 | using System.Runtime.Serialization; 13 | using System.Runtime.Serialization.Json; 14 | using dbg = Shared.Dbg; 15 | using fi = Shared.Filter; 16 | using mp = Shared.MepUtils; 17 | using tr = Shared.Transformation; 18 | 19 | namespace Shared.Tools 20 | { 21 | class GetElementByUCI 22 | { 23 | public static Result GetEByUCI(ExternalCommandData cData) 24 | { 25 | UIApplication uiApp = cData.Application; 26 | Document doc = cData.Application.ActiveUIDocument.Document; 27 | UIDocument uidoc = uiApp.ActiveUIDocument; 28 | 29 | //Ask for a UCI input 30 | InputBoxBasic ds = new InputBoxBasic(); 31 | ds.ShowDialog(); 32 | 33 | Element element = doc.GetElement(ds.InputText); 34 | if (element == null) return Result.Failed; 35 | List ids = new List(1); 36 | ids.Add(element.Id); 37 | 38 | Selection selection = uidoc.Selection; 39 | selection.SetElementIds(ids); 40 | 41 | return Result.Succeeded; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Data/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Data")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Data")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("0e0a3bb8-97f4-4659-a681-e744da2457e6")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2020.0.0.*")] 36 | [assembly: AssemblyFileVersion("2020.0.0.0")] 37 | -------------------------------------------------------------------------------- /MEPUtils/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("MEPUtils")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("MEPUtils")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("51413598-89e7-48b9-a192-8087207ac1a7")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2023.1.1.*")] 36 | [assembly: AssemblyFileVersion("2023.1.1.1")] 37 | -------------------------------------------------------------------------------- /ModelessForms/02 MepUtils/AsyncMethodMepUtils.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.UI; 3 | using Autodesk.Revit.UI.Selection; 4 | using NLog; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Diagnostics; 8 | using System.Linq; 9 | using System.Windows.Forms; 10 | using static Shared.Filter; 11 | using WinForms = System.Windows.Forms; 12 | 13 | namespace ModelessForms 14 | { 15 | class AsyncExecuteCommand : IAsyncCommand 16 | { 17 | Func Method; 18 | private AsyncExecuteCommand() { } 19 | public AsyncExecuteCommand(Func method) 20 | { 21 | Method = method; 22 | } 23 | 24 | private static readonly NLog.Logger log = NLog.LogManager.GetCurrentClassLogger(); 25 | 26 | public void Execute(UIApplication uiApp) 27 | { 28 | #region LoggerSetup 29 | //Nlog configuration 30 | var nlogConfig = new NLog.Config.LoggingConfiguration(); 31 | //Targets 32 | var logfile = new NLog.Targets.FileTarget("logfile") { FileName = "X:\\GitHub\\log.txt", DeleteOldFileOnStartup = true }; 33 | //Rules 34 | nlogConfig.AddRule(LogLevel.Info, LogLevel.Fatal, logfile); 35 | //Apply config 36 | NLog.LogManager.Configuration = nlogConfig; 37 | //DISABLE LOGGING 38 | NLog.LogManager.DisableLogging(); 39 | #endregion 40 | 41 | Method.Invoke(uiApp); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /MEPUtils-2022/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("MEPUtils")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("MEPUtils-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("d2b1c176-390a-4c3e-9eb1-9fb4ae787dc1")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /MEPUtils-2022/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /MEPUtils-2024/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("MEPUtils")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("MEPUtils-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("d2b1c176-390a-4c3e-9eb1-9fb4ae787dc1")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /MEPUtils-2024/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ModelessForms-SHARED/02 MepUtils/AsyncMethodMepUtils.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.UI; 3 | using Autodesk.Revit.UI.Selection; 4 | using NLog; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Diagnostics; 8 | using System.Linq; 9 | using System.Windows.Forms; 10 | using static Shared.Filter; 11 | using WinForms = System.Windows.Forms; 12 | 13 | namespace ModelessForms 14 | { 15 | class AsyncExecuteCommand : IAsyncCommand 16 | { 17 | Func Method; 18 | private AsyncExecuteCommand() { } 19 | public AsyncExecuteCommand(Func method) 20 | { 21 | Method = method; 22 | } 23 | 24 | private static readonly NLog.Logger log = NLog.LogManager.GetCurrentClassLogger(); 25 | 26 | public void Execute(UIApplication uiApp) 27 | { 28 | #region LoggerSetup 29 | //Nlog configuration 30 | var nlogConfig = new NLog.Config.LoggingConfiguration(); 31 | //Targets 32 | var logfile = new NLog.Targets.FileTarget("logfile") { FileName = "C:\\Temp\\nlog_log.txt", DeleteOldFileOnStartup = true }; 33 | //Rules 34 | nlogConfig.AddRule(LogLevel.Info, LogLevel.Fatal, logfile); 35 | //Apply config 36 | NLog.LogManager.Configuration = nlogConfig; 37 | //DISABLE LOGGING 38 | NLog.LogManager.DisableLogging(); 39 | #endregion 40 | 41 | Method.Invoke(uiApp); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /PDFExporter-2022/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("PDFExporter")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PDFExporter-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("c580bb5d-73d8-4904-9485-1eaf19fc4b4a")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /PDFExporter-2024/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("PDFExporter")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PDFExporter-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("c580bb5d-73d8-4904-9485-1eaf19fc4b4a")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /PDFExporter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("PDFExporter")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("PDFExporter")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("8241ca55-0163-471e-97ed-adc4e40c3e86")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2023.0.0.*")] 36 | [assembly: AssemblyFileVersion("2023.0.0.0")] 37 | -------------------------------------------------------------------------------- /ModelessForms/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ModelessForms")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ModelessForms")] 13 | [assembly: AssemblyCopyright("Copyright © 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("25a5f61c-f9ae-463a-a1a1-9c1eda4edab9")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2021.0.0.*")] 36 | [assembly: AssemblyFileVersion("2021.0.0.0")] 37 | -------------------------------------------------------------------------------- /RibbonPanel-2022/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RibbonPanel-2022")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("RibbonPanel-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("832c9d7c-0339-44df-a8ee-04e4dc045e7b")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /RibbonPanel-2024/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("RibbonPanel-2022")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("RibbonPanel-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("832c9d7c-0339-44df-a8ee-04e4dc045e7b")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /ModelessForms-2022/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ModelessForms-2022")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ModelessForms-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("6f1054a6-10a6-4257-b856-ad52d6431d5c")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /ModelessForms-2024/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ModelessForms-2022")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ModelessForms-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("6f1054a6-10a6-4257-b856-ad52d6431d5c")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-ntr-exporter-2022/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("revit-ntr-exporter")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("revit-ntr-exporter")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("5aa5b612-9906-47a6-82c2-b17df5cdef3a")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-ntr-exporter-2024/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("revit-ntr-exporter")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("revit-ntr-exporter")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("5aa5b612-9906-47a6-82c2-b17df5cdef3a")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-ntr-exporter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Revit-NTR-Exporter")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Revit-NTR-Exporter")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("413ed922-8003-4988-bc1c-b61c81587a8e")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2019.0.0.*")] 36 | [assembly: AssemblyFileVersion("2019.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-ntr-exporter-FORMS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("revit-ntr-exporter-FORMS")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("revit-ntr-exporter-FORMS")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("290aa08e-cf52-4a17-b26e-79e7f00ec712")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-pcf-exporter-2022/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("revit-pcf-exporter-2022")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("revit-pcf-exporter-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("c1a26c8f-c1cc-4791-a86a-70dbf7dba438")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-pcf-exporter-2024/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("revit-pcf-exporter-2022")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("revit-pcf-exporter-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("c1a26c8f-c1cc-4791-a86a-70dbf7dba438")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-pcf-exporter-FORMS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("revit-pcf-exporter-FORMS")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("revit-pcf-exporter-FORMS")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("7a6fc3f4-9fce-45c3-8def-ecee853ee5c9")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-cii-neutral-exporter/CIIN_Output.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | using Autodesk.Revit.DB; 5 | using iv = CIINExporter.InputVars; 6 | 7 | namespace CIINExporter 8 | { 9 | public class Output 10 | { 11 | public void OutputWriter(Document _document, StringBuilder sb, string _outputDir) 12 | { 13 | string docName = _document.ProjectInformation.Name; 14 | string dateAndTime = DateTime.Now.ToString("yyyy.MM.dd-HH.mm.ss"); 15 | dateAndTime = dateAndTime.Replace(" ", "_"); 16 | dateAndTime = dateAndTime.Replace(":", "-"); 17 | 18 | string scope = string.Empty; 19 | 20 | if (iv.ExportAllOneFile) 21 | { 22 | scope = "_All_Lines"; 23 | } 24 | else if (iv.ExportAllSepFiles || iv.ExportSpecificPipeLine) 25 | { 26 | scope = "_" + iv.SysAbbr; 27 | } 28 | else if (iv.ExportSelection) 29 | { 30 | scope = "_Selection"; 31 | } 32 | 33 | //string filename = _outputDir + "\\" + docName + "_" + dateAndTime + scope + ".CII"; 34 | string filename = _outputDir+"\\" + docName + ".CII"; 35 | 36 | //Clear the output file 37 | System.IO.File.WriteAllBytes(filename, new byte[0]); 38 | 39 | // Write to output file 40 | using (StreamWriter w = File.AppendText(filename)) 41 | { 42 | w.Write(sb); 43 | w.Close(); 44 | } 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /revit-shared-utilities-2022/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("revit-shared-utilities-2022")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("revit-shared-utilities-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("caf14e9f-c14c-44d2-8a3d-c3dd28c284e2")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-shared-utilities-2024/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("revit-shared-utilities-2022")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("revit-shared-utilities-2022")] 13 | [assembly: AssemblyCopyright("Copyright © 2024")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("caf14e9f-c14c-44d2-8a3d-c3dd28c284e2")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.*")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-mep-system-traversal/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("revit-mep-system-traversal")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("revit-mep-system-traversal")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("7df61751-7dd4-4130-ab37-fda26c23e5a3")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2019.0.0.*")] 36 | [assembly: AssemblyFileVersion("2019.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-ntr-exporter/NTR_Output.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | using Autodesk.Revit.DB; 5 | using iv = NTR_Functions.InputVars; 6 | 7 | namespace NTR_Output 8 | { 9 | public class Output 10 | { 11 | public void OutputWriter(Document _document, StringBuilder _collect, string _outputDir) 12 | { 13 | string docName = _document.ProjectInformation.Name; 14 | string dateAndTime = DateTime.Now.ToString("yyyy.MM.dd-HH.mm.ss"); 15 | dateAndTime = dateAndTime.Replace(" ", "_"); 16 | dateAndTime = dateAndTime.Replace(":", "-"); 17 | 18 | string scope = string.Empty; 19 | 20 | if (iv.ExportAllOneFile) 21 | { 22 | scope = "_All_Lines"; 23 | } 24 | else if (iv.ExportAllSepFiles || iv.ExportSpecificPipeLine) 25 | { 26 | scope = "_" + iv.SysAbbr; 27 | } 28 | else if (iv.ExportSelection) 29 | { 30 | scope = "_Selection"; 31 | } 32 | 33 | string filename = _outputDir + "\\" + docName + "_" + dateAndTime + scope + ".ntr"; 34 | //string filename = _outputDir+"\\" + docName + ".ntr"; 35 | 36 | //Clear the output file 37 | System.IO.File.WriteAllBytes(filename, new byte[0]); 38 | 39 | // Write to output file 40 | using (StreamWriter w = File.AppendText(filename)) 41 | { 42 | w.Write(_collect); 43 | w.Close(); 44 | } 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /revit-ntr-exporter-SHARED/NTR_Output.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | using Autodesk.Revit.DB; 5 | using iv = NTR_Functions.InputVars; 6 | 7 | namespace NTR_Output 8 | { 9 | public class Output 10 | { 11 | public void OutputWriter(Document _document, StringBuilder _collect, string _outputDir) 12 | { 13 | string docName = _document.ProjectInformation.Name; 14 | string dateAndTime = DateTime.Now.ToString("yyyy.MM.dd-HH.mm.ss"); 15 | dateAndTime = dateAndTime.Replace(" ", "_"); 16 | dateAndTime = dateAndTime.Replace(":", "-"); 17 | 18 | string scope = string.Empty; 19 | 20 | if (iv.ExportAllOneFile) 21 | { 22 | scope = "_All_Lines"; 23 | } 24 | else if (iv.ExportAllSepFiles || iv.ExportSpecificPipeLine) 25 | { 26 | scope = "_" + iv.SysAbbr; 27 | } 28 | else if (iv.ExportSelection) 29 | { 30 | scope = "_Selection"; 31 | } 32 | 33 | string filename = _outputDir + "\\" + docName + "_" + dateAndTime + scope + ".ntr"; 34 | //string filename = _outputDir+"\\" + docName + ".ntr"; 35 | 36 | //Clear the output file 37 | System.IO.File.WriteAllBytes(filename, new byte[0]); 38 | 39 | // Write to output file 40 | using (StreamWriter w = File.AppendText(filename)) 41 | { 42 | w.Write(_collect); 43 | w.Close(); 44 | } 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /revit-cii-neutral-exporter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Revit CII Netral File Exporter")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("MGTek")] 12 | [assembly: AssemblyProduct("Revit CII Netral File Exporter")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("50023005-3134-4277-a8be-69476807b787")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2019.0.0.*")] 36 | [assembly: AssemblyFileVersion("2019.0.0.0")] 37 | -------------------------------------------------------------------------------- /revit-shared-utilities/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("mg.revit-shared-utilities")] 9 | [assembly: AssemblyDescription("A library of shared Revit functions for personal use")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("MGTek")] 12 | [assembly: AssemblyProduct("")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("a8bf8252-e12b-4339-9e05-404bf7b2cbe3")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2021.1.2.*")] 36 | [assembly: AssemblyFileVersion("2021.1.2.1")] 37 | -------------------------------------------------------------------------------- /revit-shared-utilities-shared/02 Connector position validation/connectorSpatialGroup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Runtime.Serialization; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | using Autodesk.Revit.DB; 9 | 10 | namespace Shared.Tools 11 | { 12 | [DataContract] 13 | internal class connectorSpatialGroup 14 | { 15 | public List Connectors = new List(); 16 | [DataMember] 17 | public int nrOfCons = 0; 18 | [DataMember] //More of a debug property, maybe should be removed later on 19 | public List SpecList = new List(); 20 | [DataMember] //More of a debug property 21 | List ListOfIds = null; 22 | [DataMember] 23 | public double longestDist = 0; 24 | public List<(Connector c1, Connector c2, double dist)> pairs; 25 | public (Connector c1, Connector c2, double dist) longestPair; 26 | 27 | internal connectorSpatialGroup(IEnumerable collection) 28 | { 29 | Connectors = collection.ToList(); 30 | nrOfCons = Connectors.Count(); 31 | ListOfIds = new List(nrOfCons); 32 | foreach (Connector con in collection) 33 | { 34 | Element owner = con.Owner; 35 | Parameter par = owner.get_Parameter(new Guid("90be8246-25f7-487d-b352-554f810fcaa7")); //PCF_ELEM_SPEC parameter 36 | if (par != null) { SpecList.Add(par.AsString()); } 37 | ListOfIds.Add(owner.Id.ToString()); 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /ModelessForms/03 SearchAndSelect/SelectionInformationContainer.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using Data; 8 | 9 | namespace ModelessForms.SearchAndSelect 10 | { 11 | class SelectionInformationContainer 12 | { 13 | internal List CategoriesToSearch { get; set; } 14 | internal HashSet AllParameterImpressions { get; set; } 15 | internal Grouping Grouping { get; set; } 16 | public HashSet ElementsInSelection { get; set; } 17 | public event EventHandler SnSOperationComplete; 18 | public void RaiseSnSOperationComplete() 19 | => SnSOperationComplete.Raise(this, new MyEventArgs("Operation complete!")); 20 | public event EventHandler GetParameterDataOperationComplete; 21 | public void RaiseGetParameterDataOperationComplete() 22 | => GetParameterDataOperationComplete.Raise(this, new MyEventArgs("Parameter data ready!")); 23 | } 24 | 25 | public delegate void EventHandler(object source, MyEventArgs e); 26 | public class MyEventArgs : EventArgs 27 | { 28 | private string EventInfo; 29 | public MyEventArgs(string Text) => EventInfo = Text; 30 | public string GetInfo() => EventInfo; 31 | } 32 | public static class EventHelper 33 | { 34 | public static void Raise(this EventHandler eventHandler, object sender, MyEventArgs args) 35 | { 36 | if (eventHandler == null) return; 37 | eventHandler(sender, args); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /ModelessForms-SHARED/03 SearchAndSelect/SelectionInformationContainer.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using Data; 8 | 9 | namespace ModelessForms.SearchAndSelect 10 | { 11 | class SelectionInformationContainer 12 | { 13 | internal List CategoriesToSearch { get; set; } 14 | internal HashSet AllParameterImpressions { get; set; } 15 | internal Grouping Grouping { get; set; } 16 | public HashSet ElementsInSelection { get; set; } 17 | public event EventHandler SnSOperationComplete; 18 | public void RaiseSnSOperationComplete() 19 | => SnSOperationComplete.Raise(this, new MyEventArgs("Operation complete!")); 20 | public event EventHandler GetParameterDataOperationComplete; 21 | public void RaiseGetParameterDataOperationComplete() 22 | => GetParameterDataOperationComplete.Raise(this, new MyEventArgs("Parameter data ready!")); 23 | } 24 | 25 | public delegate void EventHandler(object source, MyEventArgs e); 26 | public class MyEventArgs : EventArgs 27 | { 28 | private string EventInfo; 29 | public MyEventArgs(string Text) => EventInfo = Text; 30 | public string GetInfo() => EventInfo; 31 | } 32 | public static class EventHelper 33 | { 34 | public static void Raise(this EventHandler eventHandler, object sender, MyEventArgs args) 35 | { 36 | if (eventHandler == null) return; 37 | eventHandler(sender, args); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /revit-shared-utilities/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | True 24 | 25 | 26 | False 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /revit-shared-utilities/02 Connector position validation/connectorSpatialGroup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Runtime.Serialization; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | using Autodesk.Revit.DB; 9 | 10 | namespace Shared.Tools 11 | { 12 | [DataContract] 13 | internal class connectorSpatialGroup 14 | { 15 | public List Connectors = new List(); 16 | [DataMember] 17 | public int nrOfCons = 0; 18 | [DataMember] //More of a debug property, maybe should be removed later on 19 | public List SpecList = new List(); 20 | [DataMember] //More of a debug property 21 | List ListOfIds = null; 22 | [DataMember] 23 | public double longestDist = 0; 24 | public List<(Connector c1, Connector c2, double dist)> pairs; 25 | public (Connector c1, Connector c2, double dist) longestPair; 26 | 27 | internal connectorSpatialGroup(IEnumerable collection) 28 | { 29 | Connectors = collection.ToList(); 30 | nrOfCons = Connectors.Count(); 31 | ListOfIds = new List(nrOfCons); 32 | foreach (Connector con in collection) 33 | { 34 | Element owner = con.Owner; 35 | Parameter par = owner.get_Parameter(new Guid("90be8246-25f7-487d-b352-554f810fcaa7")); //PCF_ELEM_SPEC parameter 36 | if (par != null) { SpecList.Add(par.AsString()); } 37 | ListOfIds.Add(owner.Id.ToString()); 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /PDFExporter-SHARED/PDFExporter-SHARED.projitems: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | 1dd9d402-aeb0-4c17-96f6-2c0fbbf840bb 7 | 8 | 9 | PDFExporter_SHARED 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Form 18 | 19 | 20 | PDFExporterForm.cs 21 | 22 | 23 | True 24 | True 25 | 26 | 27 | 28 | 29 | PDFExporterForm.cs 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /MEPUtils/13 NumberStuff/NumberStuffForm.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace MEPUtils 2 | { 3 | partial class NumberStuffForm 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.SuspendLayout(); 32 | // 33 | // NumberStuffForm 34 | // 35 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 36 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 37 | this.ClientSize = new System.Drawing.Size(800, 450); 38 | this.Name = "NumberStuffForm"; 39 | this.Text = "NumberStuff"; 40 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.NumberStuffForm_FormClosing); 41 | this.ResumeLayout(false); 42 | 43 | } 44 | 45 | #endregion 46 | } 47 | } -------------------------------------------------------------------------------- /revit-shared-utilities/05 Get elements UCI/01 Get es UCI.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Plumbing; 3 | using Autodesk.Revit.DB.Structure; 4 | using Autodesk.Revit.UI; 5 | using Autodesk.Revit.UI.Selection; 6 | 7 | using MoreLinq; 8 | 9 | using Shared; 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | using System.Diagnostics; 14 | using System.Globalization; 15 | using System.Linq; 16 | using System.Runtime.Serialization; 17 | using System.Runtime.Serialization.Json; 18 | 19 | using dbg = Shared.Dbg; 20 | using fi = Shared.Filter; 21 | using mp = Shared.MepUtils; 22 | using tr = Shared.Transformation; 23 | 24 | namespace Shared.Tools 25 | { 26 | class GetElementsUCI 27 | { 28 | public static Result GetEsUCI(ExternalCommandData cData) 29 | { 30 | UIApplication uiApp = cData.Application; 31 | Document doc = cData.Application.ActiveUIDocument.Document; 32 | UIDocument uidoc = uiApp.ActiveUIDocument; 33 | 34 | Selection selection = uidoc.Selection; 35 | 36 | List UCIs = new List(); 37 | 38 | foreach (var id in selection.GetElementIds()) 39 | { 40 | Element el = doc.GetElement(id); 41 | UCIs.Add(el.UniqueId); 42 | } 43 | 44 | if (UCIs.Count > 0) 45 | { 46 | string path = 47 | Environment.ExpandEnvironmentVariables("%temp%") + "\\" + "ElsUcis.txt"; 48 | System.IO.File.WriteAllText(path, string.Join("\n", UCIs)); 49 | Process.Start("notepad.exe", path); 50 | } 51 | 52 | return Result.Succeeded; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /MEPUtils-SHARED/13 NumberStuff/NumberStuffForm.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace MEPUtils 2 | { 3 | partial class NumberStuffForm 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.SuspendLayout(); 32 | // 33 | // NumberStuffForm 34 | // 35 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 36 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 37 | this.ClientSize = new System.Drawing.Size(800, 450); 38 | this.Name = "NumberStuffForm"; 39 | this.Text = "NumberStuff"; 40 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.NumberStuffForm_FormClosing); 41 | this.ResumeLayout(false); 42 | 43 | } 44 | 45 | #endregion 46 | } 47 | } -------------------------------------------------------------------------------- /revit-shared-utilities-shared/05 Get elements UCI/01 Get es UCI.cs: -------------------------------------------------------------------------------- 1 | using Autodesk.Revit.DB; 2 | using Autodesk.Revit.DB.Plumbing; 3 | using Autodesk.Revit.DB.Structure; 4 | using Autodesk.Revit.UI; 5 | using Autodesk.Revit.UI.Selection; 6 | 7 | using MoreLinq; 8 | 9 | using Shared; 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | using System.Diagnostics; 14 | using System.Globalization; 15 | using System.Linq; 16 | using System.Runtime.Serialization; 17 | using System.Runtime.Serialization.Json; 18 | 19 | using dbg = Shared.Dbg; 20 | using fi = Shared.Filter; 21 | using mp = Shared.MepUtils; 22 | using tr = Shared.Transformation; 23 | 24 | namespace Shared.Tools 25 | { 26 | class GetElementsUCI 27 | { 28 | public static Result GetEsUCI(ExternalCommandData cData) 29 | { 30 | UIApplication uiApp = cData.Application; 31 | Document doc = cData.Application.ActiveUIDocument.Document; 32 | UIDocument uidoc = uiApp.ActiveUIDocument; 33 | 34 | Selection selection = uidoc.Selection; 35 | 36 | List UCIs = new List(); 37 | 38 | foreach (var id in selection.GetElementIds()) 39 | { 40 | Element el = doc.GetElement(id); 41 | UCIs.Add(el.UniqueId); 42 | } 43 | 44 | if (UCIs.Count > 0) 45 | { 46 | string path = 47 | Environment.ExpandEnvironmentVariables("%temp%") + "\\" + "ElsUcis.txt"; 48 | System.IO.File.WriteAllText(path, string.Join("\n", UCIs)); 49 | Process.Start("notepad.exe", path); 50 | } 51 | 52 | return Result.Succeeded; 53 | } 54 | } 55 | } 56 | --------------------------------------------------------------------------------