如何在不打开CAD文件的情况下,获取该文件中起作用的标注样式中的全局比例和图形范围。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在不打开CAD文件的情况下,获取该文件中起作用的标注样式中的全局比例和图形范围。相关的知识,希望对你有一定的参考价值。
此小程序是对autocad的二次开发,使用VBA或者ARX来做。还有我说的图形范围是指整个图形占据的范围(即是使用“范围”缩放命令得到的范围)不是图形界限
我试图使用ScaleFactor属性获取全局比例,但找不到途径
看了一些资料 找不到路子%%%%%%
关于dwg文件格式能否详细讲下,是不是关于dwg文件的存储方式或者是dxf组码的问题?
麻烦给予指点下。
如何在不打开的情况下获得最大文件的大小?
【中文标题】如何在不打开的情况下获得最大文件的大小?【英文标题】:How can I get a size of biggest file without open? 【发布时间】:2015-08-20 12:12:50 【问题描述】:我知道有<sys/stat.h>
标头但是:
struct stat
dev_t st_dev; /* ID of device containing file */
ino_t st_ino; /* inode number */
mode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of owner */
gid_t st_gid; /* group ID of owner */
dev_t st_rdev; /* device ID (if special file) */
off_t st_size; /* total size, in bytes */
blksize_t st_blksize; /* blocksize for file system I/O */
blkcnt_t st_blocks; /* number of blocks allocated */
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last status change */
;
off_t
的最大值是 2147483647
(在我的机器上),小于 2GB。
还有其他方法吗?
我的操作系统是 Win32。
【问题讨论】:
哪个操作系统?您有一个系统 api 来询问文件大小。无需打开。 有些系统提供stat64 【参考方案1】:虽然有一个符合 POSIX 的 stat64 函数,但它在 Windows 上不可用(正如另一个答案中提到的,有一个 _stat64 函数)。
在 Windows 中最适合使用的函数是GetFileAttributesEx。
例如:
BOOL result;
WIN32_FILE_ATTRIBUTE_DATA fad;
LONGLONG filesize;
result = GetFileAttributesEx(filename, GetFileExInfoStandard, &fad);
if (result)
filesize = ((LONGLONG)fad.nFileSizeHigh << 32) + fad.nFileSizeLow;
【讨论】:
LONGLONG 是 "unsigned long long" 吗? 请参阅msdn.microsoft.com/en-us/library/cc230344.aspx 了解确切定义。您也可以使用long long
或__int64
。 Microsoft 似乎不提供无符号 64 位整数类型。【参考方案2】:
对于 Windows 上的文件操作,您有两种选择。
找到适当的标准或半标准 C 或 POSIX 函数 - 在本例中为 _stat64。如果您尝试编写更可移植的代码,这会更有用,但即便如此,也经常与其他平台不兼容。 (例如,Linux 没有_stat64
;相反,它使用#define
使stat
支持64 位。)
使用适当的 Windows API 函数 - 在本例中为 GetFileAttributesEx。对于纯 Windows 应用,这可能比尝试使用标准或半标准 C 和 POSIX 函数更容易并且可能会公开更多功能。
【讨论】:
如果提问者对所有文件信息不感兴趣,GetFileSizeEx 可能就足够了。 @WernerHenze 该函数的第一个参数是一个 HANDLE,这意味着事先打开文件。 OP 要求提供一种无需打开即可获取文件大小的方法。以上是关于如何在不打开CAD文件的情况下,获取该文件中起作用的标注样式中的全局比例和图形范围。的主要内容,如果未能解决你的问题,请参考以下文章