Вот озаботился написанием макроса, который будет просто выводить на графику нужное мне сечение. Просто иногда необходимо соединять чужие схемы, а на графике само собой делать это удобнее.Решил заполнить табличку "graph_node", но видимо этого недостаточно.Пока, за вчера, написал вот эти наброски.Может кто-то уже занимался подобным и сможет помочь?
k=1'k=Rastr.SendCommandMain(8,"Номер сечения:","",0)rastr.printp "Выводим на графику сечение № " & kset gr=rastr.tables("graph_node")set grx=gr.cols("k_x")set gry=gr.cols("k_y")set grn=gr.cols("ny")set grl=rastr.tables("grline")grl.SetSel "ns=" & krastr.printp "Всего линий " & grl.countset cip=grl.cols("ip")set ciq=grl.cols("iq")set vt=rastr.tables("vetv")set vtip=vt.cols("ip")set vtiq=vt.cols("iq")j=grl.FindNextSel(-1)' устанавливаем начальные координаты и смещенияx=1y=1dx=10dy=10while j<> -1 ' перебираем линии в сечении vt.SetSel "ip=" & cip.z(j) & "&iq=" & ciq.z(j) if vt.count=0 then vt.SetSel "ip=" & ciq.z(j) & "&iq=" & cip.z(j) rastr.printp "ip=" & cip.z(j) & "&iq=" & ciq.z(j) & " параллельных " & vt.count m=vt.FindNextSel(-1) while m<>-1 ' если есть параллельные ветки, то перебираем их все rastr.printp vtip.z(m) & " " & vtiq.z(m)' выводим узел начала линии i = gr.size ' текущий максимальный номер в таблице "graph_node" gr.InsRow i ' вставляем новую строку' заполняем новую строчку grn.z(i) = vtip.z(m) ' номер узла grx.z(i)=x gry.z(i)=y' какие-то признаки положения, типа, стиля узла. ставил наугад по образу и подобию. gr.cols("npri").z(i)=-2 gr.cols("viz").z(i)=33 gr.cols("wid").z(i)=1 gr.cols("ind_text").z(i)=i*13 gr.cols("ind_fig").z(i)=i*3' выводим узел конца линии i = gr.size gr.InsRow i grn.z(i) = vtiq.z(m) grx.z(i)=x + dx gry.z(i)=y gr.cols("npri").z(i)=-2 gr.cols("viz").z(i)=33 gr.cols("wid").z(i)=1 gr.cols("ind_text").z(i)=i*13 gr.cols("ind_fig").z(i)=i*3 y=y+dy m=vt.FindNextSel(m) wend j=grl.FindNextSel(j)wend' печатаем всю табличку "graph_node"for i=0 to gr.size-1 rastr.printp i & " ny=" & gr.cols("ny").z(i) & " x=" & grx.z(i) & " y=" & gry.z(i) & " npri" & gr.cols("npri").z(i) & " viz=" & gr.cols("viz").z(i) & " wid=" & gr.cols("wid").z(i) & " styl=" & gr.cols("styl").z(i) & " ind_text=" & gr.cols("ind_text").z(i) & " ind_fig=" & gr.cols("ind_fig").z(i)next'Rastr.SendChangeData HINTR_CHANGE_TABL,"graph_node",0,0