<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Calling a C# routine from another in Revit API Forum</title>
    <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793232#M52313</link>
    <description>&lt;P&gt;Sorry all, I've obviously made a mess of explaining the issue. I'll try again.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, I've written a load of routines for Revit which do various things and all are accessible via a ribbon.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The ribbon calls the routines, this is an example of the Detail Element Filter button code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;            PushButtonData p4b4Data = new PushButtonData(
                "cmdDetailFilter",
                "Detail" + System.Environment.NewLine + " Element Filter",
                thisAssemblyPath,
                "DetailedFilter.Command");

            PushButton p4b4 = ribbonPanel4.AddItem(p4b4Data) as PushButton;
            p4b4.ToolTip = "Allows detailed selection filtering.";

            BitmapImage p4b4Image = new BitmapImage(new Uri("pack://application:,,,/TPBRevitRibbon2017;component/Commands/DetailedFilter/DetailFilter_Icon.png"));

            p4b4.LargeImage = p4b4Image;
&lt;/PRE&gt;
&lt;P&gt;All of this works well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I found that I can replace a Revit command on the standard Revit ribbon, from this post:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://forums.autodesk.com/t5/revit-api-forum/replacing-a-revit-command/m-p/7783097#M28698" target="_blank"&gt;https://forums.autodesk.com/t5/revit-api-forum/replacing-a-revit-command/m-p/7783097#M28698&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I'd like to replace the standard Revit Element filter command with my version - Detail Element Filter - which the&amp;nbsp;above ribbon button code calls.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To replace a command I need to add a call into this event:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;void binding_Executed(object sender, Autodesk.Revit.UI.Events.ExecutedEventArgs e)
{

}&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now rather than duplicating the Detail Element Filter code within binding_Executed, I'd rather simply call the code for the original routine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the start of the original routine:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;namespace DetailedFilter
{

    [Transaction(TransactionMode.Manual)]
    public class Command : IExternalCommand
    {
        public Result Execute(
          ExternalCommandData commandData,
          ref string message,
          ElementSet elements)
        {
            UIApplication uiapp = commandData.Application;
            UIDocument uidoc = uiapp.ActiveUIDocument;
            Autodesk.Revit.ApplicationServices.Application app = uiapp.Application;
            Document doc = uidoc.Document;
 etc&lt;/PRE&gt;
&lt;P&gt;So I'm thinking I can call the routine thus:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;void binding_Executed(object sender, Autodesk.Revit.UI.Events.ExecutedEventArgs e)
{
DetailedFilter.Command.Execute();
}&lt;/PRE&gt;
&lt;P&gt;But that doesn't work, and I'm not sure whats required.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just to be clear, the Detail Element Filter, the ribbon bar and the replacement command are all compiled into one DLL and so it doesn't need to call anything externally.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope that all makes sense...!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your help.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 20 Feb 2018 21:23:46 GMT</pubDate>
    <dc:creator>Kevin.Bell</dc:creator>
    <dc:date>2018-02-20T21:23:46Z</dc:date>
    <item>
      <title>Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7788586#M52308</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have written some code which creates a new Element Filter for Revit - I'm very happy with the result. Currently, the routine is called by clicking on a toolbar I created - all works well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But I've now cross some code (with the help of this forum!) which allows the user to replace an existing Revit toolbar button with a custom routine and I'd like to do this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've got it working by duplicating the code, but really I'd like to start the original routine, but I'm unsure how to run the code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The original routine starts with this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;namespace DetailedFilter
{

    [Transaction(TransactionMode.Manual)]
    public class Command : IExternalCommand
    {
        public Result Execute(
          ExternalCommandData commandData,
          ref string message,
          ElementSet elements)
        {
            UIApplication uiapp = commandData.Application;
            UIDocument uidoc = uiapp.ActiveUIDocument;
            Autodesk.Revit.ApplicationServices.Application app = uiapp.Application;
            Document doc = uidoc.Document;

etc etc&lt;/PRE&gt;
&lt;P&gt;So to run this routine would I type:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;DetailedFilter.command.Execute(??, ??, ??)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm unsure what to put in the ??s...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'd appreciate some pointers - thanks.&lt;/P&gt;</description>
      <pubDate>Mon, 19 Feb 2018 13:33:35 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7788586#M52308</guid>
      <dc:creator>Kevin.Bell</dc:creator>
      <dc:date>2018-02-19T13:33:35Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7788638#M52309</link>
      <description>&lt;P&gt;i'm not sure what you what to do, but runing one Execute from another sounds like bad ide.&lt;BR /&gt;You schould use this class for buttons.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 19 Feb 2018 13:52:56 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7788638#M52309</guid>
      <dc:creator>MarryTookMyCoffe</dc:creator>
      <dc:date>2018-02-19T13:52:56Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7789483#M52310</link>
      <description>Well I guess it's not another code I'm calling it from, rather it's another part of the overall app...</description>
      <pubDate>Mon, 19 Feb 2018 17:34:37 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7789483#M52310</guid>
      <dc:creator>Kevin.Bell</dc:creator>
      <dc:date>2018-02-19T17:34:37Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7790276#M52311</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am a little confused. You could not call execute method unless you create a new instance of that class. But I guess what you would want to have is a static method returning the object you would want to use.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Feb 2018 00:29:00 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7790276#M52311</guid>
      <dc:creator>BardiaJahan</dc:creator>
      <dc:date>2018-02-20T00:29:00Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7791052#M52312</link>
      <description>&lt;P&gt;Hello Kevin,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I understood correctly you want to activate that C# routine when you press that button right?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In your routine, when you created (or reused) a ribbon panel, you could do something like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt; // Create Panel&lt;BR /&gt; RibbonPanel ribbonPanel = application.CreateRibbonPanel("NameOfTheRibbon");&lt;BR /&gt;&lt;BR /&gt;// Create a push button to trigger a command add it to the ribbon panel
string thisAssemblyPath = Assembly.GetExecutingAssembly().Location;&lt;BR /&gt;
//Assign a function to that button            
PushButtonData buttonData = new PushButtonData("cmdMenu", "NameOfTheButton", thisAssemblyPath, "&lt;STRONG&gt;DetailedFilter.Command&lt;/STRONG&gt;");&lt;BR /&gt;&lt;BR /&gt;//Add the button to the ribbon&lt;BR /&gt;PushButton pushButton = ribbonPanel.AddItem(buttonData) as PushButton;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// Parameters of PushButtonData:&lt;BR /&gt;// name:&amp;nbsp;The internal name of the new button.&lt;BR /&gt;// text:&amp;nbsp;The user visible text seen on the new button.&lt;BR /&gt;// assemblyName:&amp;nbsp;The assembly path of the button.&lt;BR /&gt;// className:&amp;nbsp;The name of the class containing the implementation for the command.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, in order to call your routine, in the 4th field of the push button data (the class name), you need to paste the full path for your code, which I've assumed as DetailedFilter.Command. It should run your code by doing that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Ruben&lt;/P&gt;</description>
      <pubDate>Tue, 20 Feb 2018 09:23:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7791052#M52312</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-02-20T09:23:52Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793232#M52313</link>
      <description>&lt;P&gt;Sorry all, I've obviously made a mess of explaining the issue. I'll try again.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, I've written a load of routines for Revit which do various things and all are accessible via a ribbon.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The ribbon calls the routines, this is an example of the Detail Element Filter button code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;            PushButtonData p4b4Data = new PushButtonData(
                "cmdDetailFilter",
                "Detail" + System.Environment.NewLine + " Element Filter",
                thisAssemblyPath,
                "DetailedFilter.Command");

            PushButton p4b4 = ribbonPanel4.AddItem(p4b4Data) as PushButton;
            p4b4.ToolTip = "Allows detailed selection filtering.";

            BitmapImage p4b4Image = new BitmapImage(new Uri("pack://application:,,,/TPBRevitRibbon2017;component/Commands/DetailedFilter/DetailFilter_Icon.png"));

            p4b4.LargeImage = p4b4Image;
&lt;/PRE&gt;
&lt;P&gt;All of this works well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I found that I can replace a Revit command on the standard Revit ribbon, from this post:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://forums.autodesk.com/t5/revit-api-forum/replacing-a-revit-command/m-p/7783097#M28698" target="_blank"&gt;https://forums.autodesk.com/t5/revit-api-forum/replacing-a-revit-command/m-p/7783097#M28698&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So I'd like to replace the standard Revit Element filter command with my version - Detail Element Filter - which the&amp;nbsp;above ribbon button code calls.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To replace a command I need to add a call into this event:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;void binding_Executed(object sender, Autodesk.Revit.UI.Events.ExecutedEventArgs e)
{

}&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now rather than duplicating the Detail Element Filter code within binding_Executed, I'd rather simply call the code for the original routine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is the start of the original routine:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;namespace DetailedFilter
{

    [Transaction(TransactionMode.Manual)]
    public class Command : IExternalCommand
    {
        public Result Execute(
          ExternalCommandData commandData,
          ref string message,
          ElementSet elements)
        {
            UIApplication uiapp = commandData.Application;
            UIDocument uidoc = uiapp.ActiveUIDocument;
            Autodesk.Revit.ApplicationServices.Application app = uiapp.Application;
            Document doc = uidoc.Document;
 etc&lt;/PRE&gt;
&lt;P&gt;So I'm thinking I can call the routine thus:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;void binding_Executed(object sender, Autodesk.Revit.UI.Events.ExecutedEventArgs e)
{
DetailedFilter.Command.Execute();
}&lt;/PRE&gt;
&lt;P&gt;But that doesn't work, and I'm not sure whats required.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just to be clear, the Detail Element Filter, the ribbon bar and the replacement command are all compiled into one DLL and so it doesn't need to call anything externally.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope that all makes sense...!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your help.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Feb 2018 21:23:46 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793232#M52313</guid>
      <dc:creator>Kevin.Bell</dc:creator>
      <dc:date>2018-02-20T21:23:46Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793269#M52314</link>
      <description>&lt;P&gt;You need to have an instance of the Command class before calling the execute method. Also, you need to pass the required arguments. So you may want to register your handler to BeforeExecuted event.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Command command = new Command();
command.Execute(commandData, ref message, elements);&lt;/PRE&gt;&lt;P&gt;Although I would not do that. Instead, create another method - even possibly a static method - in Command class by copying what Execute method does. you could call that method from Execute&amp;nbsp;and also Executed event handler.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Feb 2018 21:56:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793269#M52314</guid>
      <dc:creator>BardiaJahan</dc:creator>
      <dc:date>2018-02-20T21:56:16Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793395#M52315</link>
      <description>&lt;P&gt;Ok, thanks.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But I'm unsure what pass for&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;commandData, ref message, elements&lt;/PRE&gt;
&lt;P&gt;Regarding your suggestion about creating another method, can you point me to somewhere which can give some pointers on this, I need to so some reading on this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for your help.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Feb 2018 22:10:07 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793395#M52315</guid>
      <dc:creator>Kevin.Bell</dc:creator>
      <dc:date>2018-02-20T22:10:07Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793453#M52316</link>
      <description>&lt;P&gt;I am not sure about what to pass if you want to call execute but I am suggesting to create another method -&amp;nbsp;ExecCommand - method in your Command class and call it from Execute method and also Executed event handler. You still need to create an instance of Command Class in the event handler though.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;namespace DetailedFilter
{
    [Transaction(TransactionMode.Manual)]
    public class Command : IExternalCommand
    {
        public Result ExecCommand(Document doc)
        {
            Autodesk.Revit.ApplicationServices.Application app = doc.Application;
            &lt;BR /&gt;            //copy everything from Execute method....
        }
        public Result Execute(
          ExternalCommandData commandData,
          ref string message,
          ElementSet elements)
        {
            UIApplication uiapp = commandData.Application;
            UIDocument uidoc = uiapp.ActiveUIDocument;
            Autodesk.Revit.ApplicationServices.Application app = uiapp.Application;
            Document doc = uidoc.Document;

            return Run(doc);
        }&lt;/PRE&gt;</description>
      <pubDate>Tue, 20 Feb 2018 22:32:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793453#M52316</guid>
      <dc:creator>BardiaJahan</dc:creator>
      <dc:date>2018-02-20T22:32:40Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793469#M52317</link>
      <description>&lt;P&gt;Oh, I see.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I was trying to avoid copying the code as that would mean that I have two lumps of code that I would have to maintain, though I have set up something like this and it worked fine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I thought it would be more 'elegant' to call the same code...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheers.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Feb 2018 22:40:08 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793469#M52317</guid>
      <dc:creator>Kevin.Bell</dc:creator>
      <dc:date>2018-02-20T22:40:08Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793476#M52318</link>
      <description>&lt;P&gt;You wouldn't have two lumps of code. Just one but it would be in ExecCommand method instead of Execute method.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Feb 2018 22:42:12 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793476#M52318</guid>
      <dc:creator>BardiaJahan</dc:creator>
      <dc:date>2018-02-20T22:42:12Z</dc:date>
    </item>
    <item>
      <title>Re: Calling a C# routine from another</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793484#M52319</link>
      <description>&lt;P&gt;oh right. I'll try that out.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Feb 2018 22:46:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/calling-a-c-routine-from-another/m-p/7793484#M52319</guid>
      <dc:creator>Kevin.Bell</dc:creator>
      <dc:date>2018-02-20T22:46:04Z</dc:date>
    </item>
  </channel>
</rss>

