工作流权限是数据工坊中用于控制用户对工作流执行权限的一种机制,它确保只有授权用户才能执行特定的工作流任务,从而保护数据安全和业务逻辑的完整性。
如何用Ansys Workbench做静态结构分析
打开Workbench软件,并开始一个静态结构分析工作流。 双击Engineering Data选项。 在材料属性管理界面输入必须的材料参数,这是必不可少的。 在Geometry几何选项栏,右击,选择导入几何体。 浏览事先用CAD软件做好或者用SCDM处理好的几何模型(可见另一篇经验,用SCDM处理模型)。 操作过后,进入DM模块。 此步需要点击Generate生成按键,显示几何体。 这个过程中,需要检查模型,或者加入螺栓或者进行平移、旋转等操作。 完成后,关闭DM模块。 返回到工作流界面,点击Update,更新下项目。 更新完毕,双击Model,几何按键,进入分析模块。 首先进行零件附材料操作。 点击模型树上相应零件,下方就会出现相关属性,将前面已经建好的材料赋给零件即可。 完成此部,还有接触的设置,因为例子里只有一个零件,所以没有这个选项。 如有兴趣,可参见另一篇经验(接触操作及处理)。 模型分网操作。 下方选择相应算法,上方也有相应的细致设定,什么方法,网格大小等。 这个地方内容很多,后续我会加一篇专门的经验。 边界条件设定。 可以看到还是有很多种设定的,我常用的就是fixed support。 此步,咱们约束住一侧边,选择后,不要忘记点击,Apply,应用。 加载荷。 项目也有很多,咱们直接在上面加一个力,仅作为展示参考。 选择完后,下方会有详细的设定。 选择分析项目。 选择自己感兴趣的项目,应力,应变或其他。 下边详细选择栏设定具体参数及几何体,表面或整个体。 在求解,Solution上,右键,选择Solve,求解。 等着计算机计算就可以了。 算完之后,结果就可以直接显示。 到这里,整个过程就说完了。 有着重感兴趣的地方,还需要单独进行部分操作,这里便不一一展示。
开发网络程序,是使用Winsock API 还是使用MFC提供的Socket类
VC两种socket类比较 一、实现方法微软的MFC把复杂的WinSock API函数封装到类里,这使得编写网络应用程序更容易。 CAsyncSocket类逐个封装了WinSock API,为高级网络程序员提供了更加有力而灵活的方法。 这个类基于程序员了解网络通讯的假设,目的是为了在MFC中使用WinSock,程序员有责任处理诸如阻塞、字节顺序和在Unicode与MBCS 间转换字符的任务。 为了给程序员提供更方便的接口以自动处理这些任务,MFC给出了CSocket类,这个类是由CAsyncSocket类继承下来的,它提供了比CAsyncSocket更高层的WinSock API接口。 Csocket类和CsocketFile类可以与Carchive类一起合作来管理发送和接收的数据,这使管理数据收发更加便利。 CSocket对象提供阻塞模式,这对于Carchive的同步操作是至关重要的。 阻塞函数(如Receive()、Send()、ReceiveFrom()、SendTo() 和Accept())直到操作完成后才返回控制权,因此如果需要低层控制和高效率,就使用CasyncSock类;如果需要方便,则可使用Csocket类。 CSocket类是由CAsyncSocket继承而来的,事实上,在MFC中CAsyncSocket 逐个封装了WinSock API,每个CAsyncSocket对象代表一个Windows Socket对象,使用CAsyncSocket 类要求程序员对网络编程较为熟悉。 相比起来,CSocket类是CAsyncSocket的派生类,继承了它封装的WinSock API。 一个CSocket对象代表了一个比CAsyncSocket对象更高层次的Windows Socket的抽象,CSocket类与CSocketFile类和CArchive类一起工作来发送和接收数据,因此使用它更加容易使用。 CSocket对象提供阻塞模式,因为阻塞功能对于CArchive的同步操作是至关重要的。 在这里有必要对阻塞的概念作一解释:一个socket可以处于阻塞模式或非阻塞模式,当一个套接字处于阻塞模式(即同步操作)时,它的阻塞函数直到操作完成才会返回控制权,之所以称为阻塞是因为此套接字的阻塞函数在完成操作返回之前什么也不能做。 如果一个socket处于非阻塞模式(即异步操作),则会被调用函数立即返回。 在CAsyncSocket类中可以用GetLastError 成员函数查询最后的错误,如果错误是WSAEWOULDBLOCK则说明有阻塞,而CSocket绝不会返回WSAEWOULDBLOCK,因为它自己管理阻塞。 微软建议尽量使用非阻塞模式,通过网络事件的发生而通知应用程序进行相应的处理。 但在CSocket类中,为了利用CArchive 处理通讯中的许多问题和简化编程,它的一些成员函数总是具有阻塞性质的,这是因为CArchive类需要同步的操作。 在Win32环境下,如果要使用具有阻塞性质的套接字,应该放在独立的工作线程中处理,利用多线程的方法使阻塞不至于干扰其他线程,也不会把CPU时间浪费在阻塞上。 多线程的方法既可以使程序员享受CSocket带来的简化编程的便利,也不会影响用户界面对用户的反应。 CAsyncSocket类编程模型在一个MFC应用程序中,要想轻松处理多个网络协议,而又不牺牲灵活性时,可以考虑使用CAsyncSocket类,它的效率比CSocket 类要高。 CAsyncSocket类针对字节流型套接字的编程模型简述如下:1、构造一个CAsyncSocket对象,并用这个对象的Create成员函数产生一个Socket句柄。 可以按如下两种方法构造: CAsyncSocket sock; //使用默认参数产生一个字节流套接字(); 或在指定端口号产生一个数据报套接字CAsyncSocket*pSocket=newCAsyncSocket;int nPort=27;pSocket->Create(nPort,SOCK-DGRAM);第一种方法在栈上产生一个CAsyncSocket对象,而第二种方法在堆上产生CAsyncSocket对象;第一种方法中Create()成员函数用缺省参数产生一个字节流套接字,第二种方法中用Create()成员函数在指定的端口产生一个数字报套接字。 Create()函数的原型为:BOOL Create( UINT nSocketPort = 0, int nSocketType = SOCK_STREAM,LPCTSTR lpszSocketA














发表评论