The HIC calculation is part of the DIAdem Crash Analysis toolkit. The function can be found here:
The SCRIPT command for the HIC calculation is ChnHICCalc. The results are stored in a variable matrix called HICRes(i,j).
There is a pretty good example in DIAdem that shows how to programatically run a HIC calcuation and embed results in a report:
I am not sure whan a XCRASH table looks like, so you'll need to post a description or screenshot of that if you want more details on how to replicate that.
thank you for your help. I can not see the example of diadem, I always receive an error message.
I was trying to do the same result that you show me in the example but in a table.
the goal is to have a summary page of HIC
I hope that you understand my problems and you can help me.
Thanks a lot
to explain better
you find attached the program I'm trying to write
the goal is to select the channels for the head (? 00 00 HEAD? AC X??? 00 00 HEAD? AC Y?? 00 00 HEAD? AC Z?) after, I must make the information in the table: Name, Description, filtering, the values of HIC / HIC15 / HIC36
but for now I can not select the channels, all I can do is select some criterion and display the values of HIC in a message
I hope that you understand what I want to do.
I am still not sure what your exact goal is. When you mention "table" are you referring to the REPORT or to the SUD?
In the SUD, you can use a "ChnComboBox" to select channels from the DIAdem Data Portal.
In REPORT, you can create a table with values such as this:
The example to check for this is here in the help file:
Sorry, I am not really sure what your goal is. A drawing or screenshot might make it easier for me to steer you in the right direction.
excuse me if I can not explain what I want to do
You find the print screen of the result of X-CRASH, I try to do almost the same thing by programing.
as I have you told the last time; I try to do a page that summarizes the results of the crash: HIC (36/15), RESULTING Acceeleration, cumulative 3ms, NIC, VC, ThCC ....
I hope that you understand what I want to do.
Sorry, I had a busy week last week and didn't check the forums.
Here is a table with the parameters I have used to create this table:
The most important thing to to is to pick the "Text list" option in the table and then you can fill each line with a unique text or variable name.
The variable @str(HICRes(1,1),'d.d')@ means this:
The "@" character tells DIAdem that you are going to be displaying a variable vs. a static text.
The "str()" function is used to convert a number into a sting and give it some formatting. In my case the formatting is "d.d" which represents one digit after the decimal comma.
The "HICRes(1,1)" statement refers to the HIC result variable, and 1,1 refers to the actual HIC value.
I hope this puts on onto the right path ...
thank you for your reply.
I'm in a period of internship and and I can not find the solution of the problem,
you are the only people who supported me, Thanks
About the program, I tried to do as you said, I have even try to change the manner of presentation of the results.
My Tutor request a presentation as the presentation of X-Crash (the print screen that I showed you the last time) but I do not advance in this way so I change the way and I hope he will accept after.
I calculate all the important criterion, but I can not put them in the table
We must see each time the type and position of the mannequin in the car (front right, front left ...) and type of vehicle (vehicle 1, vehicle 2 ....) (it is necessary to test the channel code)
So here I understood the system of X-crash but I do not know how to apply it with diadem
you find attached my program that can best explain the manner of presentation and I thank you again for your help.
A few comments on what I have seen in your Script:
To calculate the HIC, you have to:
Here is the code that will do this:
Call ChnCFCFiltCalc("/00TIRS000000TI00","/11HEAD0000H3ACXP","/FilteredSignal","CFC_1000",0,"EndPoints",10) '... XW,Y,E,CFCFiltType,Fir100RemoveBias,CFCPreEventType,CFCFreeValue Call ChnCFCFiltCalc("/00TIRS000000TI00","/11HEAD0000H3ACYP","/FilteredSignal1","CFC_1000",0,"EndPoints",10) '... XW,Y,E,CFCFiltType,Fir100RemoveBias,CFCPreEventType,CFCFreeValue Call ChnCFCFiltCalc("/00TIRS000000TI00","/11HEAD0000H3ACZP","/FilteredSignal2","CFC_1000",0,"EndPoints",10) '... XW,Y,E,CFCFiltType,Fir100RemoveBias,CFCPreEventType,CFCFreeValue Data.Root.ChannelGroups(1).Channels("FilteredSignal").Name = "11HEAD0000H3ACXA" Data.Root.ChannelGroups(1).Channels("FilteredSignal1").Name = "11HEAD0000H3ACYA" Data.Root.ChannelGroups(1).Channels("FilteredSignal2").Name = "11HEAD0000H3ACZA" Call ChnXYZAbsValue("/11HEAD0000H3ACXA","/11HEAD0000H3ACYA","/11HEAD0000H3ACZA","/ResultantXYZ") '... X,Y,Z,E Call ChnHICCalc("/00TIRS000000TI00","/ResultantXYZ",1,1,1,1,10,1) '... XW,Y,HIC36,HIC15,HICVar,HICUserDef,HICUser,HICd
The X-Crash software has been designed over many years, by people with 10+ years of DIAdem experience. I don't think that that can easily be reproduced in a few weeks.
Coming back to your table question, what you need to do is add the variables into the tables. I have attached an example layout with some HIC values for your reference. The REPORT tables in DIAdem are unfortunately not as easy to manipulate as we would like them to be. There is a lot of experience that went into making the REPORT layouts for X-Crash, I doubt you will be able to easily recreate these without some major effort.
What you need to do to get all the correct entries in the tables is to store the results of your calculations into channel variables, and then reference these variables in the tables.
Here is some example code to store the HIC value into a customer property of the "Resultant" channel:
Call Data.Root.ChannelGroups(1).Channels("ResultantXYZ").Properties.Add("HIC", HICRes(1,1), DataTypeFloat64)
I have included the reference to that variable in the attached TDR file example.
I'm sorry I can't be of better help,