The id here refers to the id of the RenderMaterial object that was sent, which, like all Speckle objects has its Id calculated as a hash of the json object data. Because its just a hash, it will remain constant assuming the properties have not changed. If you update the material’s name/colour/PBR properties, the Id will change.
You can view this id in the speckle web, by selecting a geometry object, and finding its renderMaterial property (it may be nested under a displayValue list).
On the topic of whitespace characters in the material name.
I need to investigate this a little more. But I think we could change the connector’s behaviour to remove or replace whitespace characters (e.g. with an _) from material names.
I’m guessing that would be a more ideal solution for you?
@Jedd
First of all a big thank for you, I see more clearly now.
I already saw that we could access the material ids in the web page.
On the other hand, what you showed in the YouTube tutorial and this list of IDs/Material names no longer exists, is that right?
As ids change between projects and are likely to change between versions, exchanging by names is more efficient and sustainable.
The idea of replacing whitespace and special characters with a (_) is very great !
It will be easier to work on several projects and several versions that share the same materials.
We have modified the material conversion by adding a “Data” Mode" that automatically fills a list of materials to convert by string name, and then you just have to choose the corresponding EU materials.
This “Data Mode” can be triggered even after, to add new materials.
In my early Curves/Polyline conversion results :
With only 1 curve + 1 Polyline in the web browser displayed model, converted to :
1 Curve (1 ID) +1 nested Polyline (other iD)
Then a Polyline (1 ID)
Is Speckle converting B-Spline to Polyline internaly ?
Curve objects have a displayValue (normally a polyLine)
It may be that you are converting both the “curve” and “polyline” object?
potentially they are both being traversed higher up in the receive operation…