乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 91|回复: 6

加载行类型问题

[复制链接]

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2009-7-23 08:22:11 | 显示全部楼层 |阅读模式
你好!
我尝试使用以下代码在Bricscad中加载特定的行类型:
OdDbLinetypeTablePtr pLTPtr =(OdDbLinetypeTablePtr)pDb-> getLinetypeTableId()。safeOpenObject(OdDb::kForWrite);
如果(!pLTPtr-> has(_ T(" DIVIDE "))
{
//此处如果不指明default.lin的完整路径我会得到一个错误
//pDb-> loadline typefile(_ T(" DIVIDE "),_ T(" default . Lin "));
//工作正常
pDb-> loadline typefile(_ T(" DIVIDE "),_ T(" C:\ \ Documents and Settings \ \ MIKE \ \ Application Data \ \ Bricsys \ \ Bricscad \ \ v 9 \ \ en _ US \ \ support \ \ default . Lin "));
}
如何在一般情况下使用loadLineTypeFile(..) ?
我试图在注册表中找到一些对我有帮助的信息,但是我没有找到关于线型文件的其他信息。
有什么想法吗?
迈克

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2009-7-23 08:35:06 | 显示全部楼层
如果您知道支持文件夹名称或它是否存储在注册表中,您可以获取它并附加文件名。为了增加错误检查,您还可以在调用函数加载线型之前验证文件是否存在。
您可以使用这个简单的函数来验证文件是否存在,然后继续使用您的函数:
  1. #include  
  2. bool FileExists(string strFilename)
  3. {
  4.     struct stat stFileInfo;
  5.     bool blnReturn;
  6.     int intStat;
  7.     // Attempt to get the file attributes
  8.     intStat = stat(strFilename.c_str(),&stFileInfo);
  9.     if(intStat == 0)
  10.     // We were able to get the file attributes so the file obviously exists.
  11.     {
  12.         blnReturn = true;
  13.     }
  14.     else
  15.     // We were not able to get the file attributes.
  16.     {
  17.         blnReturn = false;
  18.     }
  19.   return(blnReturn);
  20. }

回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2009-7-23 08:46:58 | 显示全部楼层
我可能会尝试使用sds_findfile
回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2009-7-23 08:55:10 | 显示全部楼层
大家好!
我不确定哪种方法最快,但我会同时尝试这两种方法和另一种使用Bricscad注册表中SRCHPATH变量的方法。看起来第一价值数据正是我正在寻找的支持途径。
非常感谢您!
迈克
回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2009-7-23 08:58:33 | 显示全部楼层
它位于搜索路径中,您可以在promt
(findfile“default.lin”)
中使用lisp进行尝试
回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2009-7-23 09:33:22 | 显示全部楼层
sds_findfile()非常完美!
谢谢!
迈克
回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2009-7-23 09:48:30 | 显示全部楼层
我用这个,当我知道。它位于支持的路径之一。-
以防他们侵入该函数:acdbLoadLineTypeFile
  1. if (acdbLoadLineTypeFile(_T("OCULTA1"), _T("civilcad.lin"), acdbHostApplicationServices()->workingDatabase()) == Acad::eOk)
  2.         acutPrintf(_T("\nLinetype loaded. \n"));
  3. else
  4.         acutPrintf(_T("\nLinetype not loaded. \n"));
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-6 00:55 , Processed in 0.161288 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表