<?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: Importing and Displaying Satellite Images in Revit API Forum</title>
    <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10831568#M35941</link>
    <description>&lt;P&gt;You can find an asset that contains a certain named property via Linq e.g.:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;Dim Assets As List(Of Visual.Asset) = app.Application.GetAssets(Visual.AssetType.Appearance)
'Find an asset with a property matching Visual.Generic.GenericDiffuse
Dim J0 = Assets.FirstOrDefault(Function(x) x.FindByName(Visual.Generic.GenericDiffuse) IsNot Nothing)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This seems better than a fixed index since you don't know for sure how that number may change e.g. if user manually adds an asset etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obviously the Assets library is quite large to search but there are existing Materials and Assets in the document which can be duplicated instead. So it is often better to know what you are looking for e.g. load a Family with your known material and the Asset you want to manipulate (if you can't find it).&amp;nbsp; Most materials will have the appearance asset with the bitmap property though.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There is an example of this within RevitAPI.chm under&amp;nbsp;AppearanceAssetElement.Duplicate. As noted if it isn't there in the document then it is straightforward to load something with it to add it.&lt;/P&gt;</description>
    <pubDate>Sun, 19 Dec 2021 00:09:46 GMT</pubDate>
    <dc:creator>RPTHOMAS108</dc:creator>
    <dc:date>2021-12-19T00:09:46Z</dc:date>
    <item>
      <title>Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/9377989#M35932</link>
      <description>&lt;DIV class="lia-message-body lia-component-message-view-widget-body lia-component-body-signature-highlight-escalation lia-component-message-view-widget-body-signature-highlight-escalation"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm building an add-in for Revit and I would like to be able to import and display third-party satellite imagery in order to place buildings in their 'real' position. I would like to be able to do this in a 3D view, but I don't know how.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The user workflow for my add-in is this:&lt;/P&gt;&lt;P&gt;- A user opens the add-in and is prompted to input a location through a WPF window.&lt;/P&gt;&lt;P&gt;- Once a location is confirmed, a number of things are created/imported into the active project to make it look as close as possible to its actual real-life location. One of these things is the satellite image I'm seeking to import here.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Essentially, my question is exactly &lt;A href="https://forums.autodesk.com/t5/revit-architecture-forum/google-maps-image-in-3d-view/m-p/8100681" target="_blank" rel="noopener"&gt;this one&lt;/A&gt;, but instead doing that programmatically/automatically through an add-in. In that thread, a suggestion is made to create a decal with the desired image, but this does not seem to be supported through the API.&lt;/P&gt;&lt;P&gt;Another approach I found is to &lt;A href="https://thebuildingcoder.typepad.com/blog/2013/10/programmatic-custom-add-in-external-command-launch.html" target="_blank" rel="noopener"&gt;use PostCommand&lt;/A&gt;s to create and place decals, but these commands are &lt;A href="https://knowledge.autodesk.com/support/revit-products/learn-explore/caas/CloudHelp/cloudhelp/2014/ENU/Revit/files/GUID-1C7289DE-8D10-47B5-B6DB-EA1310851C8F-htm.html" target="_blank" rel="noopener"&gt;apparently&lt;/A&gt; only executed after exiting the API context and only one at a time. As my add-in aims to perform a whole bunch of functionalities in one go, this seem ill-suited for my use case. It seems to be possible to chain a bunch of PostCommands, but this is a little 'hacky' and not recommended, especially for commercial use.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Am I overlooking some existing functionality? Is my use case just not supported in current Revit? I'm new to programming for Revit, so it's very possible I've missed something.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm running / programming for Revit 2019 on Windows 10.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you all for your time,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Harm&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sat, 14 Mar 2020 13:49:10 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/9377989#M35932</guid>
      <dc:creator>harmvandenbrand</dc:creator>
      <dc:date>2020-03-14T13:49:10Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/9379926#M35933</link>
      <description>&lt;P&gt;Dear Harm,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for the interesting question and explanation, and all the research you already put into it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You have proceeded exactly as I would suggest, and the finding are what I would have expected.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am sorry to say that I have nothing to add from my point of view.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I wish you good luck in putting together a viable and sufficiently robust workflow for your use case.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jeremy&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 16 Mar 2020 10:02:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/9379926#M35933</guid>
      <dc:creator>jeremytammik</dc:creator>
      <dc:date>2020-03-16T10:02:14Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/9379997#M35934</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;what about creating a new material, setting its texture path - and then, making a TopoSurface and assigning the material to it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://thebuildingcoder.typepad.com/blog/2017/11/modifying-material-visual-appearance.html" target="_blank"&gt;https://thebuildingcoder.typepad.com/blog/2017/11/modifying-material-visual-appearance.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't know how to adjust the UV mapping for the TopoSurface, but it it worked, you would see your satellite image in 3D.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Revitalizer&lt;/P&gt;</description>
      <pubDate>Mon, 16 Mar 2020 10:43:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/9379997#M35934</guid>
      <dc:creator>Revitalizer</dc:creator>
      <dc:date>2020-03-16T10:43:13Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/9406063#M35935</link>
      <description>&lt;P&gt;Thanks to all for the replies! It took some time to try out the proposed solution (accessing AppearanceElements is convoluted!), so that's why it took me this long to reply.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In the end, though I had to work around some weird quirks with the API, adding the image as a texture to a topography through a material works great.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again for the suggestion, I couldn't have made it work without it.&lt;/P&gt;</description>
      <pubDate>Sat, 28 Mar 2020 11:13:50 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/9406063#M35935</guid>
      <dc:creator>harmvandenbrand</dc:creator>
      <dc:date>2020-03-28T11:13:50Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/9407144#M35936</link>
      <description>&lt;P&gt;Wow, congratulations!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you share some of the quirks and weirdnesses you ran into, and how you handled them?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The entire solution might be of great interest to others as well, in fact...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have a nice Sunday and good health to all!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 29 Mar 2020 07:12:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/9407144#M35936</guid>
      <dc:creator>jeremytammik</dc:creator>
      <dc:date>2020-03-29T07:12:02Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10798509#M35937</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/8748449" target="_self"&gt;&lt;SPAN class=""&gt;Harmvandenbrand&lt;/SPAN&gt;&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am also trying to achieve same functionality and didn't find API to achieve the same.&lt;/P&gt;&lt;P&gt;If you can share the solution used to achieve the output, that will be great help.&lt;/P&gt;&lt;P&gt;Thanks and Advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Dec 2021 10:38:35 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10798509#M35937</guid>
      <dc:creator>RakeshBSalwe</dc:creator>
      <dc:date>2021-12-03T10:38:35Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10815534#M35938</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My apologies for the late reply, both to Tamesh and especially to Jeremy &lt;span class="lia-unicode-emoji" title=":grinning_face_with_sweat:"&gt;😅&lt;/span&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As mentioned, I ended up taking Revitalizer's suggested approach of creating a new material and setting its texture.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;Material underlayMaterial = Material.Create(revitDocument, materialName);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To this material, I link a so-called AppearanceAsset:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;underlayMaterial.AppearanceAssetId = assetElement.Id;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(more on how I get this assetElement in a moment)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And then I assign the path of a jpeg image to the texture asset:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;using (AppearanceAssetEditScope editScope = new AppearanceAssetEditScope(revitDocument))
{
    Asset editableAsset = editScope.Start(assetElement.Id);

    AssetProperty assetProperty = editableAsset.FindByName("generic_diffuse");
    Asset connectedAsset = assetProperty.GetConnectedProperty(0) as Asset;

    //Edit bitmap
    if (connectedAsset.Name == "UnifiedBitmapSchema")
    {
        AssetPropertyString path = connectedAsset.FindByName(UnifiedBitmap.UnifiedbitmapBitmap) as AssetPropertyString;

        if (path.IsValidValue(imagePath))
            path.Value = imagePath;

        //You might have to fiddle a bit with the scale properties, for example when your source uses centimeters:
        AssetPropertyDistance scaleX = connectedAsset.FindByName(UnifiedBitmap.TextureRealWorldScaleX) as AssetPropertyDistance;
        AssetPropertyDistance scaleY = connectedAsset.FindByName(UnifiedBitmap.TextureRealWorldScaleY) as AssetPropertyDistance;

        //Because newly added bitmaps are displayed in inches.
        if (scaleX.DisplayUnitType == DisplayUnitType.DUT_DECIMAL_INCHES)
            scaleX.Value /= 2.54;
        if (scaleY.DisplayUnitType == DisplayUnitType.DUT_DECIMAL_INCHES)
            scaleY.Value /= 2.54;

    }
    editScope.Commit(true);
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now, the reason why I would call my solution 'hacky', is because of how I retrieve the assetElement.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Instinctively, I would want to create a new, empty instance of Asset. Something like AppearanceAssetElement assetElement = AppearanceAssetElement.Create();&lt;/P&gt;&lt;P&gt;However, this is not how Revit's material/texture api works. We can only use those materials/textures/etc. that are present in Revit's libraries. Therefore we can only &lt;EM&gt;make copies&lt;/EM&gt; of existing ones:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;//Retrieve asset library from the application (this is the only source available; instantiating from zero is impossible)
IList&amp;lt;Asset&amp;gt; assetList = commandData.Application.Application.GetAssets(AssetType.Appearance);

//Select arbitrary asset from library (200 works, not all do)
Asset asset = assetList[200];

AppearanceAssetElement assetElement;
try
{
    assetElement = AppearanceAssetElement.Create(revitDocument, someNewName, asset);
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, I really just randomly tried indices in that assetList until I found one that worked, and hardcoded that one in. Not all AppearanceAssets in the list have the necessary "generic_diffuse" assetProperty to which we can bind a texture, so we have to select one that does.&lt;/P&gt;&lt;P&gt;If you are developing your addin for external parties this is risky, because we can't ensure that the same libraries are available for any particular user. It's probably best to somehow filter for valid AppearanceAssets.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, you can see that retrieving this appearanceAsset requires ExternalCommandData (which I named CommandData in the code given), which an addin retrieves via the 'Execute' method of a IExternalCommand-implementing class.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, remember to wrap most of these snippets in transactions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this helps!&lt;/P&gt;</description>
      <pubDate>Fri, 10 Dec 2021 23:01:49 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10815534#M35938</guid>
      <dc:creator>harmvandenbrand</dc:creator>
      <dc:date>2021-12-10T23:01:49Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10815954#M35939</link>
      <description>&lt;P&gt;Thank you very much for sharing your nice solution!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have &lt;A href="https://autodesk.slack.com/archives/C0SR6NAP8/p1639208070168900" target="_blank"&gt;asked&lt;/A&gt; the development team whether the hacky part can be cleaned up somehow.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 11 Dec 2021 07:36:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10815954#M35939</guid>
      <dc:creator>jeremy_tammik</dc:creator>
      <dc:date>2021-12-11T07:36:25Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10830540#M35940</link>
      <description>&lt;P&gt;Thank you again for the nice implementation and explanation. Preserved for posterity:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://thebuildingcoder.typepad.com/blog/2021/12/symbol-instance-material-data-journal-break.html#3" target="_blank"&gt;https://thebuildingcoder.typepad.com/blog/2021/12/symbol-instance-material-data-journal-break.html#3&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 18 Dec 2021 06:07:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10830540#M35940</guid>
      <dc:creator>jeremy_tammik</dc:creator>
      <dc:date>2021-12-18T06:07:59Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10831568#M35941</link>
      <description>&lt;P&gt;You can find an asset that contains a certain named property via Linq e.g.:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="general"&gt;Dim Assets As List(Of Visual.Asset) = app.Application.GetAssets(Visual.AssetType.Appearance)
'Find an asset with a property matching Visual.Generic.GenericDiffuse
Dim J0 = Assets.FirstOrDefault(Function(x) x.FindByName(Visual.Generic.GenericDiffuse) IsNot Nothing)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This seems better than a fixed index since you don't know for sure how that number may change e.g. if user manually adds an asset etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obviously the Assets library is quite large to search but there are existing Materials and Assets in the document which can be duplicated instead. So it is often better to know what you are looking for e.g. load a Family with your known material and the Asset you want to manipulate (if you can't find it).&amp;nbsp; Most materials will have the appearance asset with the bitmap property though.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There is an example of this within RevitAPI.chm under&amp;nbsp;AppearanceAssetElement.Duplicate. As noted if it isn't there in the document then it is straightforward to load something with it to add it.&lt;/P&gt;</description>
      <pubDate>Sun, 19 Dec 2021 00:09:46 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10831568#M35941</guid>
      <dc:creator>RPTHOMAS108</dc:creator>
      <dc:date>2021-12-19T00:09:46Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10838414#M35942</link>
      <description>&lt;P&gt;Dear Harm,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;here is the devteam response:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="p-rich_text_section"&gt;"An asset is a resource with economic value that an individual, corporation or country owns or controls with the expectation that it will provide a future benefit."&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;&lt;BR /&gt;In Revit, an (material) asset is owned by the libraries too, but currently the libraries are only data but not classes in code, so there's no way to create an asset from the libraries but can only duplicate one from existing.&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;The user's problems is trying to find an asset that can assign an image; I suggest below steps:&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;OL class="p-rich_text_list p-rich_text_list__ordered" data-stringify-type="ordered-list" data-indent="0" data-border="0"&gt;
&lt;LI data-stringify-indent="0" data-stringify-border="0"&gt;Duplicate a new asset (or material) from any existing ones that serves only for this purpose.&lt;/LI&gt;
&lt;LI data-stringify-indent="0" data-stringify-border="0"&gt;If the new asset contains "unified_bitmap", then change it as desired.&lt;/LI&gt;
&lt;LI data-stringify-indent="0" data-stringify-border="0"&gt;If not, then create a connected asset with AssetProperty.AddConnectedAsset() that should contains "unified_bitmap" in the schema.&lt;/LI&gt;
&lt;/OL&gt;
&lt;DIV class="p-rich_text_section"&gt;At last, exposing decal element to API should be the best way. (There may also contains some workaround or hacky way through external file mechanism, but I cannot confirm that.)&lt;/DIV&gt;
&lt;DIV class="p-rich_text_section"&gt;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Wed, 22 Dec 2021 17:31:56 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10838414#M35942</guid>
      <dc:creator>jeremy_tammik</dc:creator>
      <dc:date>2021-12-22T17:31:56Z</dc:date>
    </item>
    <item>
      <title>Re: Importing and Displaying Satellite Images</title>
      <link>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10840474#M35943</link>
      <description>&lt;P&gt;Hi Jeremy,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for the update. If I understand correctly, my solution follows steps 1 and 2 of the dev-team's suggestion. So it's good to know I'm not doing anything too weird. Except for selecting a hardcoded element from the library by hand, but I'll happily use &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/1035859"&gt;@RPTHOMAS108&lt;/a&gt; 's suggestion of selecting one through list filtering. It'll prevent any errors that would occur if the asset libraries ever were to change.&lt;/P&gt;&lt;P&gt;Always good to go through old code again and find yourself thinking "this could be improved".&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm satisfied with how I currently create/copy an asset (again, step 1 and 2). It's just that when I first started digging through the api to get to the functionality I needed, it was a bit like groping around in the dark. My first instinct when it came to the AppearanceAsset part of the problem, at the time, was to instantiate a new one. It wasn't immediately clear to me that I couldn't do that, but that I &lt;EM&gt;could&lt;/EM&gt; duplicate one. I learn more with every feature I implement &lt;span class="lia-unicode-emoji" title=":beaming_face_with_smiling_eyes:"&gt;😁&lt;/span&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That having been said, things like our blog and the documentation at &lt;A href="http://revitapidocs.com" target="_blank" rel="noopener"&gt;revitapidocs&lt;/A&gt; have helped out immensely, with this problem and with others, so thank you very much!&lt;/P&gt;</description>
      <pubDate>Thu, 23 Dec 2021 21:59:16 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/revit-api-forum/importing-and-displaying-satellite-images/m-p/10840474#M35943</guid>
      <dc:creator>harmvandenbrand</dc:creator>
      <dc:date>2021-12-23T21:59:16Z</dc:date>
    </item>
  </channel>
</rss>

