A Little Help with Multiple Industry New (kuid:-25:1334) Please

Robert704

New member
I am using a clone of the Multiple Industry New to make a very large log deck for use on a dock in a harbor. It is all working with a mesh I created that includes the bases for the 16ft and 32ft MLOG Logsets and Logstacks. I have queues and attach points for each of these product kinds. I understand from the HTML in the industry .gs file how productIDs for allowed products are added in Surveyor, along with initial product amounts, etc. instead of defining each product in the config file.

BUT, I cannot find the appropriate place for the code that will enable the mesh attach-point to work. I assume it retrieves the KIND product mesh to do this, and changes its visibility in the queue as explained in the queue documentation. However, the code does not seem to be able to retrieve the mesh data from the product ID if the kuid is not included in the queue tag within the config file.

Someone has probably solved this before, but I am wasting a lot of time looking for it. Is there any help out there?
 
Last edited:
UPDATE: OK, got the product queue attachment points to work by making some changes in the HTML queue and process setups. I would like to upload this asset to the DLS, but the setup for it requires EXTENSIVE configuration in the Surveyor View Properties HTML pages.
I would like to know if the following function from the "multipleindustrynew.gs" could be modified to expand the filter so that it limits the products returned in the search to a specific picklist (specifically, only 16ft and 32 ft MLOG sets and stacks). IF I can do this, I can limit the products permitted to only those that will work with the animation and greatly simplify the setup for the asset.

EXISTING FUNCTION:
void OnPropertyEditBegin(Message msg)
{
// Begin a new product asset search
m_bProductAssetSearchComplete = false;
m_productAssetSearch = TrainzAssetSearch.NewAsyncSearchObject();
Sniff(m_productAssetSearch, "TrainzAssetSearch", "AsyncResult", true);

int[] filterTypes = new int[3];
string[] filterValues = new string[3];
filterTypes[0] = TrainzAssetSearch.FILTER_LOCATION; filterValues[0] = "local";
filterTypes[1] = TrainzAssetSearch.FILTER_VALID; filterValues[1] = "true";
filterTypes[2] = TrainzAssetSearch.FILTER_CATEGORY; filterValues[2] = AssetCategory.Product;
// I want to add code here that would further limit the returned products as described above.
TrainzAssetSearch.AsyncSearchAssetsSorted(filterTypes, filterValues, TrainzAssetSearch.SORT_NAME, true, m_productAssetSearch);
}

Is there a way to do this? I could not find documentation or code examples that define the valid filterTypes for AssetSearch.

Even better would be a way to pre-configure the IndustryProductInfo with an included configuration file of some sort HTML batch input, so that tracks could be assigned to queues, and so processes that output to queues that are also an input for another process were pre-configured, but I think that is a bridge too far.

(Example, a process inputs a 32 foot log from one queue, which is cut into two 16 foot logs that are output to another queue. That output queue also receives 16ft logs from a train. This 16ft log queue is also used to load ships at dockside.)
Same concept for reducing a single logstack input into 3 logs output to another queue.
All of it works now on the Tacoma Eastern route, but it is a pain to configure, so I am reluctant to share it.
 
Last edited:
Back
Top