public ksTextItemParam TextItemParam(string str) { ksTextItemParam textIP = Kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam); textIP.Init(); textIP.s = str; return(textIP); }
void Set_into_Stamp(ksDocument2D doc, string text) { ksTextItemParam itemParam = (ksTextItemParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam); if (itemParam != null) { itemParam.Init(); ksTextItemFont itemFont = (ksTextItemFont)itemParam.GetItemFont(); if (itemFont != null) { itemFont.SetBitVectorValue(ldefin2d.NEW_LINE, true); itemParam.s = text; doc.ksTextLine(itemParam); } } }
private void set_rad_razm(Stupica master, ksDocument2D doc) { ksRDimParam aDim = (ksRDimParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_RDimParam); ksTextLineParam textLine = (ksTextLineParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_TextLineParam); ksTextItemParam textItem = (ksTextItemParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam); textLine.Init(); textItem.Init(); ksDimTextParam tPar = (ksDimTextParam)aDim.GetTPar(); ksTextItemFont font = (ksTextItemFont)textItem.GetItemFont(); ksDynamicArray arra = (ksDynamicArray)textLine.GetTextItemArr(); ksRDimSourceParam sPar = (ksRDimSourceParam)aDim.GetSPar(); ksRDimDrawingParam dPar = (ksRDimDrawingParam)aDim.GetDPar(); tPar.Init(true); tPar.SetBitFlagValue(ldefin2d._AUTONOMINAL, true); tPar.sign = 3; //знак радиуса font.Init(); font.height = 5; font.ksu = 1; font.fontName = "GOST type A"; font.SetBitVectorValue(ldefin2d.NEW_LINE, true); arra.ksAddArrayItem(-1, textItem); sPar.Init(); sPar.xc = (master.l1 + master.R1); sPar.yc = (master.d1 / 2 + master.R1); sPar.rad = (master.R1); dPar.Init(); dPar.textPos = -15; dPar.pt1 = 1; //1 -стрелка изнутри 2-стрелка снаружи 0-нетс стрелки dPar.pt2 = 0; dPar.shelfDir = 1; dPar.ang = 180 + 45; int obj = doc.ksRadDimension(aDim); }
public void SpsDoc(int n_str, string text, string dat, int n_doc) { IKompasDocument doc = appl.Documents.Open(path[n_doc], true, false);// Получаем интерфейс активного документа 2D в API7 ksSpcDocument DocS = (ksSpcDocument)kompas.SpcActiveDocument(); ksStamp stamp = DocS.GetStamp(); stamp.ksOpenStamp(); //_______________________________________ LayoutSheets _ls = doc.LayoutSheets; LayoutSheet LS = _ls.ItemByNumber[1]; var q = _ls.ItemByNumber[1].Stamp; IStamp isamp = LS.Stamp; IText qq = isamp.Text[10]; Console.WriteLine("Есть ли руковод ------------- " + qq.Str); //________________________________________ stamp.ksColumnNumber(120); ksTextItemParam itemParam = (ksTextItemParam)kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam); if (itemParam != null) { itemParam.Init(); ksTextItemFont itemFont = (ksTextItemFont)itemParam.GetItemFont(); if (itemFont != null) { itemFont.SetBitVectorValue(ldefin2d.NEW_LINE, true); itemFont.fontName = "Staccato222 BT"; itemParam.s = "44444"; stamp.ksTextLine(itemParam); } } stamp.ksCloseStamp(); }
public void Doc2D(int n_str, int n_str_dat, string text, string dat, int n_doc, bool ruk = false) { IKompasDocument doc = appl.Documents.Open(path[n_doc], true, false);// Получаем интерфейс активного документа 2D в API7 ksDocument2D docD = (ksDocument2D)kompas.ActiveDocument2D(); ksStamp stamp = (ksStamp)docD.GetStamp(); Console.WriteLine("функция Doc2D "); stamp.ksOpenStamp(); //_____________________________________________________________ LayoutSheets _ls = doc.LayoutSheets; LayoutSheet LS = _ls.ItemByNumber[1]; IStamp isamp = LS.Stamp; IText qq = isamp.Text[10]; Console.WriteLine("Есть ли руководитель ------------- " + qq.Str); //_____________________________________________________________ stamp.ksColumnNumber(n_str); ksTextItemParam itemParam = (ksTextItemParam)kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam); if (itemParam != null) { itemParam.Init(); ksTextItemFont itemFont = (ksTextItemFont)itemParam.GetItemFont(); if (itemFont != null) { itemFont.SetBitVectorValue(ldefin2d.NEW_LINE, true); itemParam.s = text; docD.ksTextLine(itemParam); } } stamp.ksColumnNumber(n_str_dat); if (itemParam != null) { itemParam.Init(); ksTextItemFont itemFont = (ksTextItemFont)itemParam.GetItemFont(); if (itemFont != null) { itemFont.SetBitVectorValue(ldefin2d.NEW_LINE, true); itemParam.s = dat; docD.ksTextLine(itemParam); } } if (ruk == true) { stamp.ksColumnNumber(123); if (itemParam != null) { itemParam.Init(); ksTextItemFont itemFont = (ksTextItemFont)itemParam.GetItemFont(); if (itemFont != null) { itemFont.SetBitVectorValue(ldefin2d.NEW_LINE, true); itemParam.s = textBox2.Text; docD.ksTextLine(itemParam); } } stamp.ksColumnNumber(133); if (itemParam != null) { itemParam.Init(); ksTextItemFont itemFont = (ksTextItemFont)itemParam.GetItemFont(); if (itemFont != null) { itemFont.SetBitVectorValue(ldefin2d.NEW_LINE, true); itemParam.s = dat; docD.ksTextLine(itemParam); } } } stamp.ksCloseStamp(); //doc.Close(0); //Закрыть документ }
private void Diam_Razmer(double xc, double yc, double rad, int dlina_vinosnoi_linii, short tip_strelki, int napr_vinosnoi_linii, int angle_vinosnoi_linii, ksDocument2D doc) { ksRDimParam aDim = (ksRDimParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_RDimParam); ksTextLineParam textLine = (ksTextLineParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_TextLineParam); ksTextItemParam textItem = (ksTextItemParam)_kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam); if (aDim == null || textLine == null || textItem == null) { return; } textLine.Init(); textItem.Init(); ksDimTextParam tPar = (ksDimTextParam)aDim.GetTPar(); ksTextItemFont font = (ksTextItemFont)textItem.GetItemFont(); ksDynamicArray arra = (ksDynamicArray)textLine.GetTextItemArr(); ksRDimSourceParam sPar = (ksRDimSourceParam)aDim.GetSPar(); ksRDimDrawingParam dPar = (ksRDimDrawingParam)aDim.GetDPar(); if (tPar == null || font == null || sPar == null || dPar == null) { return; } tPar.Init(true); tPar.SetBitFlagValue(ldefin2d._AUTONOMINAL, true); tPar.sign = 1; //знак диаметра /* * font.Init(); * font.height = 5; * font.ksu = 1; * font.fontName = "GOST type A"; * font.SetBitVectorValue(ldefin2d.NEW_LINE, true); */ arra.ksAddArrayItem(-1, textItem); ksDynamicArray arr1 = (ksDynamicArray)tPar.GetTextArr(); if (arr1 == null) { return; } arr1.ksAddArrayItem(-1, textLine); sPar.Init(); sPar.xc = xc; sPar.yc = yc; sPar.rad = rad; dPar.Init(); dPar.textPos = dlina_vinosnoi_linii; dPar.pt1 = tip_strelki; dPar.pt2 = tip_strelki; dPar.shelfDir = napr_vinosnoi_linii; dPar.ang = angle_vinosnoi_linii; int obj = doc.ksDiamDimension(aDim); }
// Создать текст private void DrawText() { ksParagraphParam par = (ksParagraphParam)kompas.GetParamStruct((short)StructType2DEnum.ko_ParagraphParam); ksTextParam par1 = (ksTextParam)kompas.GetParamStruct((short)StructType2DEnum.ko_TextParam); ksTextLineParam par2 = (ksTextLineParam)kompas.GetParamStruct((short)StructType2DEnum.ko_TextLineParam); ksTextItemParam par3 = (ksTextItemParam)kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam); if ((par != null) && (par1 != null) && (par2 != null) && (par3 != null)) { par1.Init(); par2.Init(); par3.Init(); par.Init(); par.x = 30; par.y = 30; par.height = 25; par.width = 20; doc.ksParagraph(par); // 4 пример задания дроби и нижнего и верхнего отклонений ksTextItemParam itemParam = (ksTextItemParam)kompas.GetParamStruct((short)StructType2DEnum.ko_TextItemParam); if (itemParam != null) { itemParam.Init(); ksTextItemFont itemFont = (ksTextItemFont)itemParam.GetItemFont(); if (itemFont != null) { itemFont.Init(); itemFont.SetBitVectorValue(ldefin2d.NEW_LINE, true); itemParam.s = "111"; doc.ksTextLine(itemParam); itemFont.Init(); itemFont.SetBitVectorValue(ldefin2d.NUMERATOR, true); itemFont.SetBitVectorValue(ldefin2d.ITALIC_ON, true); itemParam.s = "55"; doc.ksTextLine(itemParam); itemFont.Init(); itemFont.SetBitVectorValue(ldefin2d.DENOMINATOR, true); itemParam.s = "77"; doc.ksTextLine(itemParam); itemFont.Init(); itemFont.SetBitVectorValue(ldefin2d.END_FRACTION, true); itemFont.SetBitVectorValue(ldefin2d.BOLD_OFF, true); itemFont.SetBitVectorValue(ldefin2d.ITALIC_OFF, true); itemParam.s = "4444"; doc.ksTextLine(itemParam); } } reference p = doc.ksEndObj(); // в параметрах текста задействованы два массива неопределенной длины : ksDynamicArray arr1 = (ksDynamicArray)par1.GetTextLineArr(); // массив по строкам ksDynamicArray arr2 = (ksDynamicArray)par2.GetTextItemArr(); // массив по компонентам строки if ((arr1 != null) && (arr2 != null)) { // возьмем параметры 1 -ой строки ( индекс 0 ) doc.ksGetObjParam(p, par2, 0); PrintPar1(par2, par3, arr2); kompas.ksMessageBoxResult(); if (kompas.ksYesNo("Изменять параметры текста ?") == 1) { // у первой строки отключаем ITALIC и BOLD и меняем цвет arr2.ksGetArrayItem(0, par3); ksTextItemFont font = (ksTextItemFont)par3.GetItemFont(); if (font != null) { font.SetBitVectorValue(ldefin2d.BOLD_OFF, true); font.SetBitVectorValue(ldefin2d.ITALIC_OFF, true); int clr = Color.FromArgb(0, 0, 255, 0).ToArgb(); font.color = clr; arr2.ksSetArrayItem(0, par3); // заменим у текста первую строку doc.ksSetObjParam(p, par2, 0); // возьмем параметры 1 -ой строки ( индекс 0 ) для проверки doc.ksGetObjParam(p, par2, 0); PrintPar1(par2, par3, arr2); } } } } }