




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、 开发入门(c#):经过几个月的摸索,对skyline的开发有了一定的了解。入门的阶段总是让人郁闷,现将本人的经验进行简单的总结,方便自己,方便他人。本文是个人的经验总结,如果有不同的见解,欢迎各位朋友一起讨论。欢迎转载本文,转载是请注明本文地址/?gisbamboo,谢谢!本文包括两方面的内容,一方面是介绍skyline开发帮助文档,另一方面是根据帮助文档编写一个skyline的例程。一、帮助文档介绍安装好skyline pro后,在安装目录下可以找到开发帮助文档ProgrammersGuide.chm我是把软件安装在盘,C:Program FilesSkylineTerraExplorer ProHelp。帮助文档共有七个章节,skylin桌面开发主要是用到第三章和第四章。1、TerraExplorer CoClass InterfacesTerraExplorerClass类是创建TerraExplorer组件类的入口,TerraExplorer CoClass Interfaces中所有的接口都实现了TerraExplorerClass类。以获得IInformationTree5对象为例,代码如下:TerraExplorerterraExplorer =newTerraExplorerClass();IInformationTree5iInformationTree5 =newTerraExplorerClass();以上两行代码,就可以得到iInformationTree5实例了,就可以调用iInformationTree5的方法。其他组件类接口的使用方法都是类似的。TerraExplorerClass除了能实现组件类接口,也能直接实例化。TerraExplorerClassterraExplorerClass =newTerraExplorerClass();terraExplorerClass对象提供了丰富的方法,最常用的就是Invoke方法了,这个方法实际上是和IMenu接口的Invoke方法是一样的,只要传入菜单命令,就可以调用skyline已经封装好的很多功能了,菜单命令可以参考开发帮助IMenu接口的介绍。2、ITerraExplorerObject5 Interfaces主要是介绍创建TerraExplorer各种对象的接口。以上接口不能通过直接实现,必须通过组件类实例的方法创建。实现ITerrainPolyline接口的代码如下:方法一:ITerrainPolylineiTerrainPolyline=null;iTerrainPolyline=terraExplorerClass.CreatePolyline(null,Color,HeightStyleCode.HS_ON_TERRAIN, groupID,“线的名称”);方法二:IObjectManager51iObjectManager51 = (IObjectManager51)terraExplorer;ITerrainPolylineiTerrainPolyline=null;iTerrainPolylineiObjectManager51.CreatePolyline(null,Color,HeightStyleCode.HS_ON_TERRAIN, groupID,“线的名称”);二、开发实例路线转移路线转移功能,可以通过鼠标画一个转移的路线,双击鼠标结束画线。创建好路线之后,再创建一个动态对象,动态对象以之前创建好的路线作为运动的轨迹。1、创建私有变量privateTerraExplorerClassterraExplorerClass;ITerrainPolylineiTerrainPolyline=null;2、创建路线iTerrainPolyline=terraExplorerClass.CreatePolyline(null,Color,HeightStyleCode.HS_ON_TERRAIN, groupID,“路线”);/创建鼠标左键委托this. terraExplorerClass.OnLButtonDown +=new_ITerraExplorerEvents5_OnLButtonDownEventHandler(TE_OnLButtonDown);/创建鼠标双击委托this. terraExplorerClass.OnLButtonDblClk +=new_ITerraExplorerEvents5_OnLButtonDblClkEventHandler(TE_OnLButtonDblClk);this.TE.SetMouseInputMode(MouseInputMode.MI_COM_CLIENT);3、私有方法/添加线坐标/voidTE_OnLButtonDown(intFlags,intX,intY,refobjectpbHandled)objectx, y, flag;doubleterrainX, terrainY, terrainH;/获得鼠标坐标this. terraExplorerClass.GetMouseInfo(outflag,outx,outy);/将鼠标坐标转为地理坐标this. terraExplorerClass.IRender3_ScreenToTerrain(Convert.ToInt32(x),Convert.ToInt32(y),outterrainX,outterrainY,outterrainH);/将地理坐标添加到鼠标点击创建的线中iTerrainPolyline.AddVertex(terrainX, newPolylineHeigh, terrainY, (int)flag);/双击结束/voidTE_OnLButtonDblClk(intFlags,intX,intY,refobjectpbHandled)this. terraExplorerClass.OnLButtonDown -=new_ITerraExplorerEvents5_OnLButtonDownEventHandler(TE_OnLButtonDown);this. terraExplorerClass.OnLButtonDblClk -=new_ITerraExplorerEvents5_OnLButtonDblClkEventHandler(TE_OnLButtonDblClk);this. terraExplorerClass.SetMouseInputMode(MouseInputMode.MI_FREE_FLIGHT);/根据对象名称获取ItemID/组名/对象名称/publicstaticintGetItemIDByName(stringName)intItemID = terraExplorerClass.GetNextItem(,ItemCode.CHILD);while(ItemID != 0)stringitemName = terraExplorerClass.GetItemName(ItemID);if(itemName.Equals(Name)returnItemID;ItemID = terraExplorerClass.GetNextItem(ItemID,ItemCode.NEXT);returnItemID;、创建动态对象,并与创建好的路线作为运动的轨迹/创建动态对象IObjectManager51objectCar =newTerraExplorerClass();stringfilename =.data小车.xpc;ITerrainDynamicObject5iTDynamicObject = objectCar.CreateDynamicObject(DynamicMotionStyle.MOTION_GROUND_VEHICLE,DynamicObjectType.DYNAMIC_3D_MODEL, filename, 2.0,HeightStyleCode.HS_ON_TERRAIN, gorupID, obejectName);iTDynamicObject.TurnSpeed = 200;iTDynamicObject.Distance = 300;iTDynamicObject.CircularRoute = 0;iTDynamicObject.ScaleFactor = 3;/添加路线里面的坐标intitemID =this.GetItemIDByName(“路线”);ITerrainPolyline5iTerrainPolyline5=terraExplorerClass.GetObjectEx(itemID,ITerrainPolyline5);/添加路线里的坐标点intNumofPoint = iTerrainPolyline5.NumOfVertices;objectX, Height, Y;for(inti = 0; i = NumofPoint - 1; i+)iTerrainPolyline5.GetVertex(i,outX,outHeight,outY);iTerrainDynamicObject5.AddWaypoint(double)X, (double)Height, (double)Y, speed, i);/视角定位至路线的第一个点terraExplorerClass.FlyTo(double)X, (double)Y, (double)Height, 123, 0, -90,FlyToLocation);/飞至该路线terraExplorerClass.FlyToObject(iTerrainDynamicObject5.ID,ActionCode.AC_PLAY);三、小结TerraExplorerClass是skyline开发的起点,本身能实例化,也实现了TerraExplorer接口和所有的组件类接口。应该说TerraExplorerClass是skyline开发最重要的一个类了,如果要做成插件式的三维系统,只要实例化TerraExplorerClass,并将其对象声明为公共变量,就可以与地图窗口和树控件进行交互了。二、如何创建飞机由于本人很忙,没能及时回复,跟大家说声对不起,代码已经更新!go!/ / 创建飞机时的左键事件/ / 鼠标左右键的判断参数/ X坐标/ Y坐标/ private void TE_OnLButtonDown(int L, int doubleX, int doubleY, ref object pbHandled)pbHandled = true;clsStaticValue.isRbtnInUse = true;switch (click_int)case 1:if (IsOrNotDraw = 1)if (IsOrNotCreated = 1)int group_id = m_InformationTree.CreateGroup(飞行路径1, 0);string filepath = System.Windows.Forms.Application.StartupPath + model747.xpc;IObjectManager51 AirPlane = new TerraExplorerClass();m_TDynamicObject1 = AirPlane.CreateDynamicObject(DynamicMotionStyle.MOTION_AIRPLANE,DynamicObjectType.DYNAMIC_3D_MODEL, filepath, 2.0, HeightStyleCode.HSC_TERRAIN_RELATIVE, group_id, 747);m_TDynamicObject1.CircularRoute = 1;m_TDynamicObject1.ToolTipText = OK;m_TDynamicObject1.ScaleFactor = 1;m_TDynamicObject1.TurnSpeed = 50;m_TDynamicObject1.Visible = 1;m_Menu.Invoke(34200);IsOrNotCreated = 0;i = 1;m_Render.ScreenToTerrain(int)doubleX, (int)doubleY, out doublex, out doubley, out doubleheight);m_TDynamicObject1.AddWaypoint(doublex, 500.0, doubley, 300.0, i - 1);if (i = 1)dFromX = doublex;dFromY = doubley;dFromHeight = doubleheight;m_TPolyline1 = m_ObjectManager.CreatePolyline(0, 0x0000ffff, HeightStyleCode.HSC_TERRAIN_ABSOLUTE, 0, );m_TPolyline1.ExistInBasicTree =0;m_TPolyline1.LineWidth = 0;m_TPolyline1.AddVertex(dFromX, dFromHeight, dFromY, 0);m_VerIndex = 0;m_TE.OnFrame += new _ITerraExplorerEvents5_OnFrameEventHandler(m_TE_OnFrame); /鼠标移动事件dToX = doublex;dToY = doubley;dToHeight = doubleheight;m_TPolyline1.AddVertex(dToX, dToHeight, dToY, 0);m_VerIndex = m_VerIndex + 1;dFromX = dToX;dFromY = dToY;i = i + 1;Object longFlags, x1, y1;m_Render.GetMouseInfo(out longFlags, out x1, out y1);m_TE.OnRButtonDown += new _ITerraExplorerEvents5_OnRButtonDownEventHandler(TE_OnRButtonDown);elsebreak;break;/throw new Exception(The method or operation is not implemented.);三、关于TerraExplorer Pro的贴图方法TerraExplorer Pro提供三种贴图方法,“terrain texture”、“single color”和“image in the file”,采用这三种方法贴图,文件的运行速度是不一样的。用单色(single color)代替的影响是在FLY文件打开的时候读入数据的速度会变慢,但是运行速度是最快的;其次是采用文件贴图(image in the file), 由于在漫游时不断的在解析,在拥有大量模型的三维场景中会影响运行速度,因此建筑物的纹理采用影像本身即Terrain Texture,运行速度是最慢的。四、Create3DPolygon斑竹您好:我通过程序Create3DPolygon,在程序3D窗口中创建对象成功,然后我保存fly,从TerraExplorer Pro打开后发现节点超过10个的对象不显示了,请斑竹指点;程序代码如下:ITerrain3DPolygon5 XiaoShi = iObj5.Create3DPolygon(0, 4, 0, 0, 0, HeightStyleCode.HSC_TERRAIN_ABSOLUTE, ItemID, Name);for (int j = 0; j strJWD.Length; j+)string ArrJWD = strJWDj.Split(,);JD = Convert.ToDouble(ArrJWD0.ToString();WD = Convert.ToDouble(ArrJWD1.ToString();XiaoShi.AddVertex(JD, YXDMG, WD, 0);谢谢您,这两天忙别的没登陆回复;下面是全部代码,Group(ItemID)中共有17个对象生成,但在Skyline中就剩下4个了;下面坐标串是一条记录的经纬度串,即JWDC = Convert.ToString(objRecordSet2.GetFieldValue(经纬度串);估计不是strJWD的问题了;string XS = boBox2.Text;int ItemID = this.iInfo5.FindItem(XS);if (ItemID != 0)iInfo5.DeleteItem(ItemID);ItemID = iInfo5.CreateGroup(XS, 0);if (ItemID = 0)ItemID = iInfo5.CreateGroup(XS, 0);objRecordSet1 = objDtv.Query(, true, null, );int RecordCount = objRecordSet1.RecordCount;string WYBS = ;string Description = ;string Name = ;string JWDC = ;double YXDMG= 0;for (int i = 1; i = RecordCount; i+)objRecordSet2 = objDtv.Query(SMID= + i, true, null, );Name = Convert.ToString(objRecordSet2.GetFieldValue(SMID);JWDC = Convert.ToString(objRecordSet2.GetFieldValue(经纬度串);YXDMG = Convert.ToDouble(objRecordSet2.GetFieldValue(影像地面高)-4;string strJWD = JWDC.Split(|);double JD=0,WD=0;ITerrainBuilding5 XiaoShi = iObj5.CreateBuilding(0, 0, BuildingStyleCode.BS_POLYGONS, HeightStyleCode.HSC_TERRAIN_ABSOLUTE, ItemID, Name);for (int j = 0; j strJWD.Length; j+)string ArrJWD = strJWDj.Split(,);JD = Convert.ToDouble(ArrJWD0.ToString();WD = Convert.ToDouble(ArrJWD1.ToString();XiaoShi.AddVertex(JD, YXDMG, WD, 0);MessageBox.Show(结束!);116.654098435319,40.0855222861305|116.654100067961,40.0855187167824|116.654099458493,40.08550380117|116.654101174728,40.085501990316|116.654100720976,40.085491177809|116.654097071719,40.0854889198497|116.654082951325,40.0854889511107|116.654079497885,40.0854911930992|116.654079939555,40.0855019965855|116.654081803195,40.0855037929093|116.65408241237,40.0855186995138|116.654084349287,40.0855222903903|116.654098435319,40.0855222861305五.1三维场景下的矢量数据查询使用SkyLine平台进行三维GIS系统开发,可以在三维场景中加载各种二维矢量数据,有常见的Shp数据,KML数据,还有以WFS形式发布的矢量数据等。这样我们就面临一个新的问题,那就是二维矢量数据在三维场景下的查询。V#3U6b:0hJ UyPA0#H DM)b3hO*r O00hT0 通常我们把Shp格式的数据导入三维场景中,无论直接导入还是以流的方式导入,都能够进行对象查询。对于线型对象,只要能够捕捉到线对象,就能进行属性查询,而导入的面对象,则要注意对于面的透明度这一属性进行设置,不能为零,否则无法捕捉到面对象。$k T+,S+i3w0 对于线闪烁和面闪烁则通过改变其线宽,边界颜色,填充颜色和透明度来实现。以下是线闪烁和面闪烁的相关代码,以供学习。XsmA5n&F0 if (tempObj.ObjectType = TerraExplorerX.ObjectTypeCode.OT_POLYLINE)DK*J;H#xY-j0 AZ8,7pH57c:G0 /保存原有属性98K.?1UX.r0I!e0 FgColor = tempObj.FgColor;UobM8bSw0 FgAlpha = tempObj.FgAlpha;tF4ei0PD)x0 LineWidth = tempObj.LineWidth;y;P|a4lrW0 2&h.mx$f0 tempObj.LineWidth = LineWidth + 3;J7kyB2r+lp70 tempObj.FgColor = 255;/ ZXhT d;E0 tempObj.FgAlpha = 1;3sNews.Net最具影响力的中国地理空间信息门户网站 D$3T1HH#L7Q 3sNews.Net最具影响力的中国地理空间信息门户网站p+C%K79N D if (tempObj.ObjectType = TerraExplorerX.ObjectTypeCode.OT_POLYGON)e-N L/a;R0 3sNews.Net最具影响力的中国地理空间信息门户网站;NZK$rZ(x,L5|)m /保存原有属性3sNews.Net最具影响力的中国地理空间信息门户网站kf1if2U;S(kc FgColor = tempObj.FgColor;3sNews.Net最具影响力的中国地理空间信息门户网站M!n!qRKKm FgAlpha = tempObj.FgAlpha;3sNews.Net最具影响力的中国地理空间信息门户网站+wLOT.Q LineWidth = tempObj.LineWidth;UcP7A 2x(Zip0 BgColor = tempObj.BgColor;rl2l;D1h0 BgAlpha = tempObj.BgAlpha;P ZUCg:0 3sNews.Net最具影响力的中国地理空间信息门户网站7 nqr0la9r#Nw tempObj.LineWidth = LineWidth + 3;Rid!S2s4|T6o W0 tempObj.BgColor = 65535; H?:M;ryd0 tempObj.BgAlpha = 0.36;3sNews.Net最具影响力的中国地理空间信息门户网站M7nHv_j tempObj.FgColor = 255;3sNews.Net最具影响力的中国地理空间信息门户网站.L+e1R;Ep2L(y tempObj.FgAlpha = 1;?-DB4PJ*Eg70 3sNews.Net最具影响力的中国地理空间信息门户网站 aKMK!Omu5q0mVk4g*cp*0 private void timer1_Tick(object sender, EventArgs e)N$Wu*q: 3f0 Age0n3Le0 if (bVisable)g&q%yy(r0 h:RO/ rLirm4p0 /隐藏对象:|+Xk3u/f0 tempObj.Visible = 0;3sNews.Net最具影响力的中国地理空间信息门户网站5%p$lYD.n 8IRf4_ 0 elseLDAr ffJk0 -QOpEI(I&y0 /显示对象9J:n mbUz0 tempObj.Visible = 1;u6Y(Ty+?0 3sNews.Net最具影响力的中国地理空间信息门户网站3r$r;d+O|3? bVisable = !bVisable;l0g g|:gI:b3X c0 五.2把三维场景下的3D模型和面对象保存成矢量图层虽说TerraExplorer提供了把3D模型和面对象保存成Shp图层的功能,但是能够保存的属性字段是固定的,3sNews.Net最具影响力的中国地理空间信息门户网站c7O8TeJ+z)M 有的我们需要的属性无法导出到Shp数据中。FgUopx&_20211 比如我们把建筑图层导出成Shp图层,其中建筑底部高度这个属性就无法导出。3sNews.Net最具影响力的中国地理空间信息门户网站(qt4Y/PW C&C当我们把建筑图层用Shp数据做索引,以流的方式导入三维场景中的时候就会发现我们无法控制建筑的底部高度。3sNews.Net最具影响力的中国地理空间信息门户网站%ab crlyVH在导出面图层的时候也会遇到类似的问题,因此需要写个导出shp图层的工具,能够导出所有需要的属性字段。:ME0O op&I ? Q20211 这里下面提供相关样例代码,使用SkyLine和MapObject的接口进行开发。3l3Uj Q9?U9b D20211 一、点图层的导出,主要用于导出建筑物图层jD?y!k)Ei Q$a3Q20211 if (pObj.ObjectType = ObjectTypeCode.OT_MODEL) /确定对象是三维模型3sNews.Net最具影响力的中国地理空间信息门户网站Ig2Q qu-qH1G 7|b,20211 ITerrainModel2 pModel = pObj as ITerrainModel2;3sNews.Net最具影响力的中国地理空间信息门户网站GV4fk3We Field fld;3sNews.Net最具影响力的中国地理空间信息门户网站7hER;tE%y MapObjects2.Point pt = new MapObjects2.Point();3sNews.Net最具影响力的中国地理空间信息门户网站 vfMZt5 object dX = new double(), dY = new double(), dElevation = new double();3sNews.Net最具影响力的中国地理空间信息门户网站%bxb8yB0T object dYaw = new double(), dPitch = new double(), dRoll = new double();+P&vSv_3Gf20211 pModel.GetPosition(out dX, out dY, out dElevation, out dYaw, out dPitch, out dRoll);3sNews.Net最具影响力的中国地理空间信息门户网站Ne*pNIg:y!T pt.X = (double)dX;3sNews.Net最具影响力的中国地理空间信息门户网站:o;H6K!vsZ0y pt.Y = (double)dY;eM)k1hI4t20211 3sNews.Net最具影响力的中国地理空间信息门户网站bU_0Gsn/F recs.AddNew();1t(Ha|B20211 fld = recs.Fields.Item(Shape);oK1fC3|o|c#L20211 fld.Value = pt;-E(UI w20211 fld = recs.Fields.Item(Name);3sNews.Net最具影响力的中国地理空间信息门户网站YHKg$fi fld.Value = m_InformationTree.GetItemName(iItemID);Z3ZA#Hv&G-n/B20211 |A8V:B(6pU)y T20211 fld = recs.Fields.Item(FILENAME);:pzhbTz x20211 /修改模型的路径3sNews.Net最具影响力的中国地理空间信息门户网站*$jRQ9o:?1| if (textBox1.Text.Trim() != & textBox2.Text.Trim() != & textBox1.Text.Trim() !=null& textBox2.Text.Trim() !=null)3sNews.Net最具影响力的中国地理空间信息门户网站)DC N:fu GZ w 3sNews.Net最具影响力的中国地理空间信息门户网站 Ard4V UG string FileName = pModel.ModelFileName;3sNews.Net最具影响力的中国地理空间信息门户网站(&D2f8Z8Q F:?H8fs.q if(FileName.Contains(textBox1.Text.Trim()3sNews.Net最具影响力的中国地理空间信息门户网站GgS6&TK9xnt x y s,m?2BE20211 fld.Value = FileName.Replace(textBox1.Text.Trim(), textBox2.Text.Trim();f1U2kx7DtEH20211 3sNews.Net最具影响力的中国地理空间信息门户网站W.U5+v2 else3sNews.Net最具影响力的中国地理空间信息门户网站MI)v)sD 3sNews.Net最具影响力的中国地理空间信息门户网站 qT)b JgSX MessageBox.Show(原有对象路径中不含有字符串:+textBox1.Text.Trim()+,请重新输入。);3sNews.Net最具影响力的中国地理空间信息门户网站9Lg2B+FuQud return;3sNews.Net最具影响力的中国地理空间信息门户网站sac/n+h;g%T t$QqY+g20211 F$2h*kl#jq20211 else3sNews.Net最具影响力的中国地理空间信息门户网站.H%M$vM8y j+e6x 3sNews.Net最具影响力的中国地理空间信息门户网站%o!t1V Ed-dK*q2k(R fld.Value = pModel.ModelFileName;*hMu2s/TtlH#+c20211 V tz6boGJ20211 ;|w+pQ;kNM20211 fld = recs.Fields.Item(ALTITUDE);5wO Q;G$R20211 fld.Value = dElevation;h 3QL9_a8s20211 fld = recs.Fields.Item(YAW);3sNews.Net最具影响力的中国地理空间信息门户网站 | Ta9o fld.Value = dYaw; ;2W8H%Ls E2v9b#v 3N20211 fld = recs.Fields.Item(PITCH);3sNews.Net最具影响力的中国地理空间信息门户网站jpKfH:p9 fld.Value = dPitch;3sNews.Net最具影响力的中国地理空间信息门户网站)PyeUn1xXfs t+ fld = recs.Fields.Item(ROLL);LHDt:A3A HHW)d520211 fld.Value = dRoll;3sNews.Net最具影响力的中国地理空间信息门户网站*0X4vQu3q-k)tb Pu fld = recs.Fields.Item(SCALE);/T4yw#bwT20211 fld.Value = pModel.ScaleFactor;3sNews.Net最具影响力的中国地理空间信息门户网站Pc9C1 fld = recs.Fields.Item(TOOLTIP);_)Ijm.x20211 fld.Value = pModel.ToolTipText;3sNews.Net最具影响力的中国地理空间信息门户网站f;tMa&f.qL fld = recs.Fields.Item(DISTANCE);3sNews.Net最具影响力的中国地理空间信息门户网站/?(HU,D Uj5.t fld.Value = pModel.Distance;i*Jc%|JWD0j20211 fld = recs.Fields.Item(MAXDIST);3sNews.Net最具影响力的中国地理空间信息门户网站p u,S5B?f/;D fld.Value = pModel.MaxVisibilityDistance;3sNews.Ne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宠物智能用品行业研发创新与市场适应性研究
- 健康减脂干货知识培训课件
- 伤情鉴定讲解课件
- 2026届江苏省宿迁市宿迁中学高三物理第一学期期末教学质量检测模拟试题
- 2026届山东省东营市利津县一中高三物理第一学期期末质量跟踪监视试题
- 《为中华之崛起而读书》课件 部编语文四年级上册
- 企业消防安全培训演练课件
- 中职护理考试题库及答案
- 纪检专项资金管理办法
- 窗口临时用工管理办法
- 《大学生创新创业基础》教案 第1课 大学生创新创业教育概论一
- CJ/T 120-2016给水涂塑复合钢管
- 盾构机施工工艺流程介绍
- 《界面设计》课件
- 腹腔镜胆囊切除术护理查房 课件
- 太平间合同协议
- 木工中国传统工艺74课件
- 人教版部编小学语文二年级上册教学计划
- 企业事故隐患内部报告奖励制度
- 医药行业公关案例
- 联合作战基础知识
评论
0/150
提交评论