Original User: fabpuddu
Hi,
I used 3D Symbol in GlobeControl using IGlobeGraphicsLayer and AddElement, and work fine.
Now I'm trying to using IFeatureLayer but I have a problem with .3DS symbol.
The symbol not displayed in 3D but it seems on the surface, the symbol does not seem to be the symbols loaded and displays a label '3D Marker'
In attachments the symbol using GraphicLayer and using FeatureLayer
I can manage 3D symbols using IFeatureLayer ? How I can do ?
This is my code:
        Dim pFeatureClass As IFeatureClass
        pFeatureClass = CreateFeatureClass(esriGeometryType.esriGeometryPoint)
        Dim pFLy As IFeatureLayer
        pFLy = New FeatureLayer
        With pFLy
            .FeatureClass = pFeatureClass
            .Name = m_NameLayer
            .Cached = True
            .Selectable = True
        End With
        Dim marker3dSymbol As IMarker3DSymbol = New Marker3DSymbol
        marker3dSymbol.CreateFromFile("C:\\SVILUPPO\\Software\\Prove\\Test-Globe\\TestGlobe\\bar-chair-00024.3DS")
        marker3dSymbol.UseMaterialDraping = True
        TryCast(marker3dSymbol, IMarkerSymbol).Size = 50
        Dim pColor As IColor = New RgbColor
        pColor.RGB = RGB(0, 255, 0)
        pColor.Transparency = 255
        Dim pMarker3DPlace As IMarker3DPlacement
        pMarker3DPlace = marker3dSymbol
        pMarker3DPlace.Size = 50
        pMarker3DPlace.Color = pColor
        pMarker3DPlace.Units = esriUnits.esriMeters
        Dim pRend As IFeatureRenderer
        Dim pSimpleRend As ISimpleRenderer
        Dim pGeoFL As IGeoFeatureLayer
        ' create a new CustomSimpleRend
        pRend = New SimpleRenderer
        ' set symbol.  we must use ISimpleRenderer interface
        pSimpleRend = pRend
        pSimpleRend.Symbol = TryCast(marker3dSymbol, ISymbol)
        pGeoFL = pFLy
        pGeoFL.ScaleSymbols = True
        ' set the new renderer to the layer and refresh the map
        pGeoFL.Renderer = pRend
        m_objGlobeControl.Globe.AddLayerType(TryCast(pFLy, ILayer), esriGlobeLayerType.esriGlobeLayerTypeDraped, True)
Thanks at all
fabrizio