User Tools

Site Tools


developtopic

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
developtopic [2020/06/20 22:43]
127.0.0.1 external edit
developtopic [2023/12/14 09:47] (current)
Line 6: Line 6:
   * [[developtopic#howtodevelop|如何开发XT]]   * [[developtopic#howtodevelop|如何开发XT]]
   * [[developtopic#howtowritedoc|如何编写开发文档]]   * [[developtopic#howtowritedoc|如何编写开发文档]]
-  * [[developtopic#tractool|如何使用Trac]]+  * [[developtopic#redminetool|如何使用Redmine]]
   * [[developtopic#svntool|如何使用SVN]]   * [[developtopic#svntool|如何使用SVN]]
   * [[developtopic#technicalpoint|编程技术知识点]]   * [[developtopic#technicalpoint|编程技术知识点]]
   * [[developtopic#customize|前后处理定制开发]]   * [[developtopic#customize|前后处理定制开发]]
 +  * [[developtopic#proeif|ProE接口开发]]
   * [[developtopic#translate|界面翻译]]   * [[developtopic#translate|界面翻译]]
  
Line 18: Line 19:
     - C参考书籍: 《C程序设计语言》 (Kernighan & Ritchie)     - C参考书籍: 《C程序设计语言》 (Kernighan & Ritchie)
     - C++ 参考书籍:《C++ primer》          - C++ 参考书籍:《C++ primer》     
-    - Qt 参考书籍:《C++ GUI Qt 4编程》+    - Qt 参考书籍:《C++ GUI Qt 5编程》
     - FEM 参考书籍:《有限单元法》 (王勖成)     - FEM 参考书籍:《有限单元法》 (王勖成)
     - 设计模式     - 设计模式
Line 26: Line 27:
 {{anchor:developtool}} {{anchor:developtool}}
 **开发工具** **开发工具**
-  * [[https://x9x1.cn/trac|Trac开发管理系统]] +  * [[http://x9x1.cn:81/redmine|Redmine开发管理系统]] 
-  * [[https://x9x1.cn/svn|SVN代码管理系统]]+  * [[https://x9x1.cn/dev/cae|SVN代码管理系统]]
   * 代码编辑编译器Microsoft Visual Studio 2015   * 代码编辑编译器Microsoft Visual Studio 2015
   * 代码浏览检索工具Visual Assistant   * 代码浏览检索工具Visual Assistant
Line 39: Line 40:
  开发准备工作  开发准备工作
     * 安装Visual Studio2015     * 安装Visual Studio2015
-    * 安装Qt5.9 +    * 安装Qt5.15.2 
-    * 向管理员<xulun.wang@simstar.com.cn>申请[[https://x9x1.cn/redmine|Redmine帐号]]和[[https://x9x1.cn/svn|SVN帐号]] +    * 向管理员<12450048@qq.com>申请[[https://x9x1.cn/redmine|Redmine帐号]]和[[https://x9x1.cn/svn|SVN帐号]] 
-    * 由SVN下载源代码以及[[https://x9x1.cn/svn/3rdparty_libs_win32|32位版第三方库]]或[[https://x9x1.cn/svn/3rdparty_libs_win64|64位版第三方库]] +    * 由SVN下载源代码以及[[https://x9x1.cn/svn/3rdparty_libs_win64|64位版第三方库]] 
-    * 在代码目录下build\xt_pre拷贝build_win64_pre_template.bat成自己的版本,并修改三方库路径@SET THIRD_LIB_PATH=%CD%\3rdparty_libs_win64为实际路径 +    * 修改build\set_env_win64_vs2015.bat中Qt库路径(@SET QTDIR=C:\Qt\5.15\5.15.2\msvc2015_64)和第三方库路径@SET THIRD_LIB_PATH=%CD%\3rdparty_libs_win64为实际路径
-    * 确认代码目录下distribution\common存在icons、uisetting目录 +
-    * 修改Qt安装目录下bin\qtvars.bat如下(将devenv /useenv改为devenv /useenv %2):+
 <code> <code>
-@echo off +@SET PROJECT_CODE=XT 
-rem +@SET QTDIR=C:\Qt\5.15\5.15.2\msvc2015_64 
-rem This file is generated by the Qt installer +@SET QTDIR_INCLUDE=%QTDIR%\include 
-rem+@SET QTDIR_BIN=%QTDIR%\bin
  
-echo Setting up a Qt environment...+@SET WORK_DIR=%1% 
 +@SET ROOT_DIR=%WORK_DIR%\..\..\..\..
  
-set QTDIR=C:\Qt\5.9.4 +@SET THIRD_LIB_PATH=D:\Work\9X1\cae\trunk\3rdParty 
-echo -- QTDIR set to C:\Qt\5.9.4 +@SET OCC_PATH=%THIRD_LIB_PATH%\occ 
-set PATH=C:\Qt\5.9.4\bin;%PATH% +@SET PYTHON_PATH=%THIRD_LIB_PATH%\python\v37 
-echo -- Added C:\Qt\5.9.4\bin to PATH +@SET HDF_PATH=%THIRD_LIB_PATH%\hdf 
-set QMAKESPEC=win32-msvc2015 +@SET TAUCS_PATH=%THIRD_LIB_PATH%\taucs 
-echo -- QMAKESPEC set to "win32-msvc2008"+@SET CURL_PATH=%THIRD_LIB_PATH%\curl 
 +@SET CM2_PATH=%THIRD_LIB_PATH%\cm2 
 +@SET BLAS_PATH=%THIRD_LIB_PATH%\blas 
 +@SET OPENCL_PATH=%THIRD_LIB_PATH%\opencl\x64 
 +@SET PATH=%OCC_PATH%\win64\vc14\bin;%THIRD_LIB_PATH%\taucs\bin;%BLAS_PATH%/bin;%CM2_PATH%\libs;%QTDIR_BIN%;%PATH% 
 +@SET GLOBALMACRO=_CRT_SECURE_NO_WARNINGS;_WINDOWS;_UNICODE;_WIN64;_ENABLE_ANALYSIS;_ENABLE_UI 
 +@SET DEV_EXE=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe
  
-if not "%1"=="vsvars" goto ENDVSVARS 
-call "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" 
-:ENDVSVARS 
  
-if not "%1"=="vsstart" goto ENDVSSTART +@SET XT_INCLUDE=%WORK_DIR%\include 
-call "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" +@SET BIN_PATH=%WORK_DIR%\bin 
-devenv /useenv %2 +@SET CLOUT_PATH=%WORK_DIR%\clout 
-:ENDVSSTART+@SET DistributionPath=%WORK_DIR%\distribution\x64 
 +@SET PLATFORM_PATH=%WORK_DIR%\src\platform 
 +@SET COMMON_PATH=%WORK_DIR%\common 
 +@SET _CRT_DIR=%THIRD_LIB_PATH%\crt
 </code> </code>
 +  * 修改build\<prj>\build_win64_vs2015.bat中TAR_SLN目标编译方案文件的路径,这里<prj>为项目名(需要在build目录下创建同名的目录以放置该项目的编译启动文件)
 +<code>
 +@SET TAR_SLN=%~dp0all.sln
 +@CD /D %~dp0..\..
 +@CALL build\set_env_win64_vs2015.bat %CD%
 +
 +"%DEV_EXE%" %TAR_SLN%
 +
 +@exit
 +
 +</code>
 +
  开发流程  开发流程
-  - 技术组通过Trac系统向开发组提出需求以及详细的需求文档和测试案例 +  - 技术组通过Redmine系统向开发组提出需求以及详细的需求文档和测试案例 
-  - 项目经理通过Trac系统向开发工程师分配任务+  - 项目经理通过Redmine系统向开发工程师分配任务
   - 开发工程师评估任务可完成性以及完成时间   - 开发工程师评估任务可完成性以及完成时间
-  - 项目经理通过Trac确认任务时间表+  - 项目经理通过Redmine确认任务时间表
   - 开发工程师开发/测试   - 开发工程师开发/测试
-  - 开发工程师每周五通过Trac系统更新任务进度并向项目经理提交本周工作报告 +  - 开发工程师每周五通过Redmine系统更新任务进度并向项目经理提交本周工作报告 
-  - 开发工程师完成开发测试之后通过Trac系统向技术组报告测试案例结果+  - 开发工程师完成开发测试之后通过Redmine系统向技术组报告测试案例结果
   - 开发工程师形成开发文档   - 开发工程师形成开发文档
   - 项目经理发布测试版(一般每周一次)   - 项目经理发布测试版(一般每周一次)
-  - 技术组测试所需功能并通过Trac系统反馈bug +  - 技术组测试所需功能并通过Redmine系统反馈bug 
-  - 开发工程师修正bug并通过Trac系统更新bug状态 +  - 开发工程师修正bug并通过Redmine系统更新bug状态 
-  - 技术组通过Trac系统确认bug修正+  - 技术组通过Redmine系统确认bug修正
   - 技术组形成技术文档   - 技术组形成技术文档
  
Line 102: Line 120:
     * 对于比较复杂的类函数,应将函数逻辑以注释形式置于函数前     * 对于比较复杂的类函数,应将函数逻辑以注释形式置于函数前
   * API定义文档   * API定义文档
-    * [[ftp://simstar.oicp.net/_DevDoc/_template/06_主测试计划_A_PRE.doc|文档模板]]+    * [[ftp://x9x1.cn/_DevDoc/_template/06_主测试计划_A_PRE.doc|文档模板]]
     * 按照模板编写单独的txt文档     * 按照模板编写单独的txt文档
     * 函数说明:函数原型,参数表,参数意义及类型,返回值以及功能说明     * 函数说明:函数原型,参数表,参数意义及类型,返回值以及功能说明
Line 128: Line 146:
        - 选择__SVN update...__        - 选择__SVN update...__
  
-{{anchor:tractool}} +{{anchor:redminetool}} 
-**如何使用Trac** +**如何使用Redmine** 
-    - [[http://trac.edgewall.org/wiki/TracGuide|在线指南]]  +    - [[http://www.redmine.org.cn/manual|在线指南]]  
-    - 进入[[https://trac.simstar.com.cn|Trac管理站点]]+    - 进入[[http://x9x1.cn:81/redmine|Redmine管理站点]]
     - 选择工程Project进入登录页面,输入用户名以及密码((请向主管经理询问用户名以及密码))     - 选择工程Project进入登录页面,输入用户名以及密码((请向主管经理询问用户名以及密码))
-    - 注册邮箱((只需注册一次)) +    - 单击【问题】页查看任务 
-      - 单击__个人设置__ +    - 单击新建问题】新建任务
-      - 单击__一般__ +
-      - 输入本人的ID和邮箱 +
-      - 单击__保存变更__ +
-    - 单击__查看任务单__查看任务 +
-    - 单击__新建任务单__新建任务+
  
-{{anchor:technicalpoint}} +{{anchor:proeif}} 
-**编程技术知识点** +**如何开发ProE接口** 
-    - 比较浮点数时候注意截断带来误差  +    - 安装ProE软件(如Creo4.0) 
- +    - 将ProE toolkit工具库和头文件拷入三方库下(比如<THIRD_LIB_PATH>\proe\Creo4.0)对应目录(include和lib文件夹) 
-{{anchor:customize}} +    - 从build\proeif目录下启动对应版本的bat文件,进入IDE环境(注意ProE版本与VS版本必须适配) 
-**前后处理定制开发** +    - 解锁编译好的ProE定制动态库 
-    - 平台xt-kernel.lib,xt-utility.lib,xt-domain.lib,xt-application.lib,xt-ui.lib +    - 在XT中编写代码在动态路径下输出protk.dat文件 
-    - 前处理pre-domain.lib,pre-toolkit.lib,pre-mesher.lib,pre-application.lib,pre-commands.lib +    - 在XT中编写代码启动Proe程序调用ProE定制动态库 
-    - 后处理post-domain.lib,post-application.lib,post-commands.lib  +<code> 
-    - 宏定义与枚举变量,每个定制项目都有自己独立的命名空间,有独立的宏文件(××define.h)和枚举变量头文件(××enum.h),除非特别要求定制项目内添加任何宏定义与枚举变量都只能修改这两个头文件+//dll_path为ProE定制动态路径 
 +"C:\Program Files\PTC\Creo 4.0\M140\Parametric\bin\protk_unlock.bat" <dll_path> 
 +</code> 
 +<code> 
 +//dll_path为ProE定制动态库路径 
 +//dll_dir为ProE制动态库所在文件夹路径 
 +name ImportCreo4 
 +startup dll 
 +exec_file <dll_path> 
 +text_dir <dll_dir> 
 +revision Creo 4.
 +end 
 +</code> 
 +<code> 
 +//<inputpath>为输入的proe文件路径<outpath>为写出的数据文件名,+f:<inputpath> -O:<outpath> 为传到ProE定制动态库参数,可以根据需要修改。 
 +"C:\Program Files\PTC\Creo 4.0\M140\Parametric\bin\parametric.exe" -g:no_graphics -i:rpc_input +f:<inputpath> -O:<outpath> 
 +</code>
  
 {{anchor:translate}} {{anchor:translate}}
developtopic.1592664204.txt.gz · Last modified: 2020/06/20 22:43 by 127.0.0.1