IOS系统中加载CAD图纸的方法,苹果系统中浏览和编辑DWG

Posted ywl0224

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS系统中加载CAD图纸的方法,苹果系统中浏览和编辑DWG相关的知识,希望对你有一定的参考价值。

Xcode开发环境搭建 

 
安装解压控件xcode开发包

从我们官网下载“ MxDraw6.0ios(20160923)TryVersion.exe”文件是个windows的rar自解压缩包,在Windows系统上,双击它解压,得到所有例子文件,开发库文件,如下:

xcode1.png

把解压的目录,拷到MAC电脑上。

 
 
运行控件自带的例子

运行Xcode软件,打开控件例子, SRC\\MxDraw6.0\\Ios\\Test\\Test.xcodeproj ,如:

2.png

目前控件提供的开发包,只有真机运行的开发库,所以需要在MAC电脑上,连接iPhone手机,然后选择它,点运行即可。

15162413747297605.png

 
 
新建ios工程

运行Xcode软件,点新建工程,如下:

xcode4.png

点击:“ Next”按钮,输入工程名MyTest,然后“Next”

xcode5.png

工程路径选择控件安装目录下的Ios目录:

xcode6.png

点击 Create 创建工程完成。

 
 
工程设置

设置 Other Linker Flags 增加连接设置 ,如下:

-lsisl -lTD_Alloc -lTD_Root -lTD_DbRoot -lTD_Db -lTD_Ge -lTD_Gs -lTD_Gi -lTD_SpatialIndex -lTD_ExamplesCommon -lRecomputeDimBlock -lRasterProcessor -lModelerGeometry -lModelerCommands -lRxRasterServices -lTD_Br -lTD_BrepRenderer -lTD_AcisBuilder -lTD_PdfExport -lTD_PDFToolkit -lstsflib -lqpdf -lsisl -lpcre

 

如下抓图:

xcode7.png

 

设置 Library Search Paths 库文件搜索路径,如下:

  $(SRCROOT)/../../../3rdparty/ODA/lib/iphone
  $(SRCROOT)/../../../MxDraw6.0/prebuilt/iphone/release

 

如下抓图:

额而发1.png

 

设置 User Header Search Paths 头文件搜索路径 ,如下:

  $(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d
  $(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/cocos
  $(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/external
  $(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/cocos/platform
  $(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/cocos/platform/ios
  $(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/cocos/editor-support
  $(SRCROOT)/../../../3rdparty/cocos2dx/cocos2d/external/glfw3/include/mac
  $(SRCROOT)/../../MxInc

 

如下抓图:

xcode9.png

 

设置C语库使用:

xcode10.png

 

设置C++库使用:

xcode11.png

 

设置 C++语言宏定义:

Debug定义:

  DEBUG=1 $(inherited) CC_TARGET_OS_IPHONE USE_FILE32API COCOS2D_DEBUG=1
  CC_ENABLE_CHIPMUNK_INTEGRATION=1 _MX_MACOSX _MXDRAW_SUPPORT_DWG

 

Release定义:

  CC_TARGET_OS_IPHONE USE_FILE32API COCOS2D_DEBUG=0
  CC_ENABLE_CHIPMUNK_INTEGRATION=1 _MX_MACOSX _MXDRAW_SUPPORT_DWG

 

如下抓图:

xcode12.png

 

禁用Bitcode:

xcode15.png

 

增加连需要库文件,在 SRC\\MxDraw6.0\\prebuilt\\iphone\\release 目录下,

  libcocos2d iOS.a libMxArx60iOS.a libMxBase60iOs.a libMxBaseEx60iOs.a
  libMxDraw60iOS.a libMxDwg60iOS.a libMxFile60iOS.a libMxGe60iOS.a
  libMxKernel60iOS.a libMxPlatform60 IOS.a

 

如下图:

xcode13.png

xcode14.png

 
 
增加梦想文件

拷贝 SRC\\MxDraw6.0\\Ios\\Test\\fonts 目录,到 SRC\\MxDraw6.0\\Ios\\MyTest\\fonts 。

拷贝 SRC\\MxDraw6.0\\Ios\\Test\\mxdrawui 目录,到 SRC\\MxDraw6.0\\Ios\\MyTest\\mxdrawui 。

把font目录和mxdrawui目录当前资源增加 Xcode工程中,如下:

xcode16.png

 

拷贝 SRC\\MxDraw6.0\\Ios\\Test\\Test\\code 目录,到 SRC\\MxDraw6.0\\Ios\\MyTest\\MyTest\\code 目录。

在工程上,鼠标右键,在弹出菜单 上,点击“Add Files to "MyTest"”,把code下的文件增加到当前工程,如下:

15162442085669294.png

 

把文件ViewController.m改名为ViewController.mm,并在Xcode工程中,删除ViewController.m文件的引用,然后增加ViewController.mm。

禁用新增加的ARC功能,使用 -fno-objc-arc 标志,如下:

xcode18.png

 
 
调用梦想cad

在新建的工程 UI增加一个按钮,并在按钮事件响应里调用如下代码,显示MxCAD:

修改ViewController.mm文件:

  #import "platform/ios/CCEAGLView-ios.h"
  #import "cocos2d.h"
  #import "mxcode/MxAppDelegate.h"
  #import "mxcode/RootViewController.h"
  RootViewController* viewController = nullptr;
  CCEAGLView *eaglView = nullptr;
  static MxAppDelegate s_sharedApplication;

 

在按钮点击事件里,显示 MxCAD代码:

  - (IBAction)click:(UIButton *)sender {
      
      if(viewController == nullptr)
      {
          
          cocos2d::Application *app = cocos2d::Application::getInstance();
          s_sharedApplication.InitMxProtocol();
          app->initGLContextAttrs();
          cocos2d::GLViewImpl::convertAttrs();
   
          eaglView = [CCEAGLView viewWithFrame: [UIScreen mainScreen].bounds
                                   pixelFormat: (NSString*)cocos2d::GLViewImpl::_pixelFormat
                                   depthFormat: cocos2d::GLViewImpl::_depthFormat
                            preserveBackbuffer: NO
                                    sharegroup: nil
                                 multiSampling: NO
                               numberOfSamples: 4 ];
          
   
          [eaglView setMultipleTouchEnabled:YES];
          
         
          viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
          viewController.wantsFullScreenLayout = YES;
          viewController.view = eaglView;
          
       
          cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView(eaglView);
          cocos2d::Director::getInstance()->setOpenGLView(glview);
          
          
          app->run();
          
          cocos2d::Director::getInstance()->getEventDispatcher()->addCustomEventListener("returnCAD", [=](cocos2d::EventCustom* eve)
                                                                                         {
                                                                                             //call you return ;
                                                                                             
                                                                                             
                                                                                             [self present];
                                                                                             
                                                                                         });
          
      } 
      [self presentViewController:viewController animated:YES completion:nil];
  }

 

所有工作已经完成,再在可以编译运行了。

 

以上是关于IOS系统中加载CAD图纸的方法,苹果系统中浏览和编辑DWG的主要内容,如果未能解决你的问题,请参考以下文章

网页加载CAD图纸的两个方案

CAD从二制流数据中加载图形(com接口)

苹果手机QQ上接收并下载的CAD图纸如何进行打开查看?

怎么在CAD看图中测量图纸的距离

CAD中怎么查看图纸内容的结构

自然语言处理 CAD 图纸指导设计