精华内容
下载资源
问答
  • 图块设计技术:   在AutoCAD数据库中,以各图块实际上市存储在块表记录里的实体集合。每个图块从一格AcDbBlockBegin对象开始,紧接着是一个或多个AcDbEntity对象,最后以AcDbBolckEnd对象结束,按其所属关系得层次...

    一.图块设计技术:

     

    AutoCAD数据库中,以各图块实际上市存储在块表记录里的实体集合。每个图块从一格AcDbBlockBegin对象开始,紧接着是一个或多个AcDbEntity对象,最后以AcDbBolckEnd对象结束,按其所属关系得层次结构分为三层:第一层为块表,是属于数据库管理的根对象;第二层为块表记录,是属于块表管理的对象;第三层为组成图块的实体对象,是属于块表记录管理的基本对象。因而,在AutoCAD数据库中,定义图块的第一个过程式向块表中加入一条新的块表记录,然后将组成图块的实体对象写入该块表记录中。

     

    1.AutoCAD数据库中图块的引用

    AutoCAD系统中插入已定义的块并不是将块中所有实体复制到数据库中,而是通过块引用机制向块表记录增加一个AcDbBlockReference类引用对象。所谓的块引用实际上是用户用Insert命令或ARX引用程序向AutoCAD数据库中插入的图块。在ARX应用程序中,利用定义的AcDbBlockReference类实例及相应的成员函数可以设置插入块的有关特性,如插入点、旋转角以及XYZ方向的比例系数等。插入不带属性的简单图块的编程技术相对比较简单,做法如下:

    A.创建一个指向AcDbBlockReference类对象实例的指针。

    B.调用该类的成员函数setBlockTableRecord()设置引用图块的ID号。

    C.调用该类的成员函数setPosition(),setRotation()setScaleFactors()分别设置块引用的插入点、旋转角和XYZ方向的比例系数等。

    D.打开当前图形模型空间的块表,利用getBlockTable()函数获得指向当前图形的块表指针。

    E.调用appendAcDbEntity()函数将块引用加入当前数据库模型空间块表记录中。

     

    2. 属性块的引用:

    在块定义中的附加属性信息必须通过调用AcDbBlockReference类的成员函数appendAttribute()才能加入到块引用中。

    定义属性块时,属性实质上是附加于构成图块的某一实体上的一个或多个非图形信息。因此,在插入属性时必须检索出属性块定义时的所有附加信息,然后将其附加于块引用的相应实体上,这就需要遍历块中的全部实体。

    通过属性块的ID号打开其块表记录,从而获得指向块表记录的指针。程序代码为:

    AcDbBlockTableRecord *pBlockDef; //定义指向块表记录的指针

    acdbOpenObject(pBlockDef,blockid,AcDb::kForRead); //获得指向块表记录的指针

    参数blockid为属性的ID号,然后,定义一个用于遍历块表记录的浏览器,获得指向块表记录的浏览器指针,如:

    AcDbBlockTableIterator *pIterator; //定义指向块表记录浏览器的指针

    pBlockDef->newIterator(pIterator); //获得指向块表记录的浏览器指针

    成员函数newIterator()用于创建块表记录的浏览器对象,参数pIterator为指向块表记录的浏览器指针。在此基础上建立一个循环结构,用于遍历图块中的全部实体,得到指向某一实体的指针,其结构如下:

    AcDbEntity *pEnt; //定义指向实体的指针

    AcDbAttributeDefinition *pAttdef; //定义指向属性定义的指针

    For (pIterator->state(); !pterator->done(); pIterator->step())

    {

    pIterator->getEntity(pEnt,AcDb::kForRead); //得到指向实体的指针

    pAttdef = AcDbAttributeDefinition::cast(pEnt); //得到指向属性定义的指针

    //处理属性插入的代码

    ……

    pEnt->close(); //关闭尸体对象

    }

    实体属性的插入代码的执行机理如下:

    1创建AcDbAttribute类对象,获得指向该对象的指针。

    如: AcDbAttribute *pAtt = new AcDbAttribute;

    2设置新建的AcDbAttribute类对象的属性值及特性,如属性位置,字高,旋转角度,属性文本等.

    3) . 调用appendAttribute()函数将属性附加于pBlkRef指向的块引用中。

    如: pBlkRef->appendAttribute(attid,pAtt);

    其中,pBlkRef为指向块引用的指针,pAtt为前面创建的AcDbAttribute类对象的指针。

     

    3. AutoCAD数据库中图块的检索

    对于AutoCAD数据库来说,图块的检索主要包括用户定义的有名块和图形中已插入的块引用两个方面。

    1先介绍当前图形数据库中块的检索技术:

    ads_tblnext()函数可以得到当前图形的数据库中表示块定义得链表,将改链表存储于结果缓冲区类型的变量中,利用结果缓冲区中的联合体成员就可以获得块名、基点等信息。重复调用ads_tblnext()函数将遍历整个数据库链表中的所有块表记录,从而得到全部已定义的图块信息。

    2) . 用户定义数据库中块的检索:

    对于在ARX应用中定义的其他数据库,只能用ARX库的函数才能检索出该数据库中所定义的图块,程序的主要设计技术如下:

    A. 利用AcDbBlockTable类的成员函数newIterator()创建块表浏览器.

    如: pBTable->newiterator(pBIterator);

    pBTableAcDbBlockTable类指针;pBIteratorAcDbBlockTableIterator类块表浏览器指针.

    B. 利用循环结构和块表浏览器遍历块表。

    C.利用AcDbBlockTableIterator类成员函数getRecord()获得块表记录。

    如:pIterator->getRecord(pBTRecord,AcDb::kForRead);

    D. 利用块表记录类的成员函数getName()得到块名。

    4. 块中实体的检索:

    在检索任意数据库中的图块时,主要是利用块表浏览器遍历块表,从而获得图块名。而在获得块名的前提下,利用ARX库提供的块表记录浏览器遍历块表记录中的所有实体,从而实现对块中实体的检索。方法为:

    A.用一种合适的方式获得图块名,得到指向该图快的块表记录。

    B.生成块表记录浏览器。

    C.遍历块中的多有实体,得到检索结果。

     

    现在知道图框的名字是A3,要求遍历图框中属性:pBlkRefAcDbBlockReference实体。

    AcDbObjectIterator *pBlkRefAttItr=pBlkRef->attributeIterator();

    for (pBlkRefAttItr->start(); !pBlkRefAttItr->done();pBlkRefAttItr->step())

    {

    AcDbObjectId attObjId;

    attObjId = pBlkRefAttItr->objectId();

     

    AcDbAttribute *pAtt = NULL;

    Acad::ErrorStatus es = acdbOpenObject(pAtt, attObjId, AcDb::kForRead);

    if (es != Acad::eOk)

    {

    acutPrintf("\nFailed to open attribute");

    delete pBlkRefAttItr;

    continue;

    }

    if (strcmp(pAtt->tag(),"TITLE:") == 0)

    {

    CString title = pAtt->textString();

    if (strcmp(title,"PROGRESS(D)") == 0)

    { //操作

    }

    else if (strcmp(title,"PROGRESS(P)") == 0)

    {

    //操作

    }

    }

    pAtt->close();

    }

     

    二.容器对象:符号表的操作和使用技术

    符号表的操作主要分为向符号表中加入一条符号表记录,符号表记录的检索和符号表记录中对象的处理等,每一种操作都是通过相应的符号表类提供的成员函数来实现的。

    1.层表的操作和使用技术:

    A.创建新层:

    1). 以写的方式调用getSymbolTable()函数打开当前数据库的层表,获得指向该表的指针。

    2) 调用构造函数AcDbLayerTableRecord()创建层表建立对象。

    3) 设置层名。

    4) 设置层的有关属性。

    5) 调用add()函数将层表记录加入到层表中。

    6) 关闭层表和层表记录。

     

    2. 层的属性设置和查询函数

    层的属性包括:颜色、冻结状态、锁定状态、开关状态、在新视口中层的冻结状态和线型,下面列出的设置和查询函数均是AcDbLayerTableRecord类的成员函数。

    A.设置颜色:setColor(const AcCmColor color);

    B.设置冻结状态:setIsFrozen(bool frozen);

    如果参数frozentrue表层冻结;frozenfalse表层冻结。

    C.设置锁定状态:setIsLocked(bool locked);

    如果参数lockedtrue表层锁定;lockedfalse表层解锁。

    D.设置开关状态:setIsOff(bool off)

    如果参数offtrue表层关闭;offfalse表层打开。

    E.设置在新视口中层的冻结状态:setVPDFLT(bool frozen)

    如果参数frozentrue表在新视口中层将冻结;frozenfalse表在新视口中层解冻。

    F.设置线型:setLinetypeObjectId(AcDbObjectId id)

    在调用构造函数AcDbLayerTableRecord()创建层表记录时,上述参数的缺省值为:

    Color7(white),isFrozenfalseisLockedfalseisofffalseVPDFLTfalse,线型的ID号为NULL

     

    3. 层属性的修改和查询实例的基本方法:

    A.以读方式打开层表,获得指向层表的指针。

    B.调用层表类的成员函数getAt(),以写的方式获得指定层名的层表记录指针。

    C.调用属性设置函数修改属性或调用属性查询函数获得属性;

     

    4. 数据库中层的检索的基本方法:

    A.利用AcDbLayerTable类的成员函数newIterator()创建层表浏览器。

    B.利用循环结构和块表浏览器遍历块表。

    C.利用AcDbLayerTableIterator类的成员函数getRecord()获得块表记录。

    D.利用成员函数getName()得到层名。

     

    5. 设置图形数据库的当前层:

    调用AcDbDatabase类的成员函数setClayer()设置图形数据库的当前层,其函数原型为:

    Acad::ErrorStatus setClayer(AcDbObjectId objId);

    函数的参数为层表的ID号。获得层表记录ID号的主要方法有:

    1) 将新建的层表记录加入层表时,用下面的形式调用add()函数:

    AcDbLayerTable::add(AcDbObjectId & layerID,AcDbLayerTableRecord *pRecord);

    在关闭层表和层表记录的代码后,加入“acdbCurDwg()->setClayer(layerID);”设置当前层。

    2) 若层已经存在,则可利用获得指定符号表ID号的形式调用getAt()函数:

    AcDbLayerTable:: getAt(const char* entryName, AcDbObjectId& recordId, bool getErasedRecord = false) const;

    然后调用加入“acdbCurDwg()->setClayer(layerID);”设置当前层。

    6. 定义字体样式

    AutoCAD数据库的字体样式是字体样式中的一条记录,其缺省的字体样式名为STANDARD,字体文件名为txt.shx。用STYLE定义一个新的字体样式包括建立样式名,选择字体文件和确定字体效果三步操作。用户新定义的字体样式是作为一条字体样式表记录加入字体样式表中。

    A.以写方式调用getTextStyleTable()哈数打开当前图形数据库的字体样式表,获得指向该表的指针。

    B.调用构造函数AcDbTextStyleRecord()创建字体样式表记录对象。

    C.设置字体样式名和字体文件名。

    D.设置字体的效果,包括倒置、反向、垂直、宽度比例和倾斜角的设置。

    E.调用add()函数将字体样式表记录加入字体样式表中。

    F.关闭字体样式表和字体样式表记录。

     

    7. 尺寸标注样式和尺寸变量

    尺寸标注样式是AutoCAD数据库中尺寸标注样式表的一条记录,其缺省的尺寸标注样式名为STANDSRD,该样式由系统自动建立。尺寸变量是确定组成尺寸标注线、尺寸界线、尺寸文字以及箭头的样式、大小和它们之间相对位置等的变量。

    对标注样式名为STANDARD的尺寸变量进行修改,首先要打开当前图形数据库的尺寸标注样式表,并调用getAt()函数获得指向尺寸标注样式表记录STANDARD的指针,然后调用AcDbDimStyleTableRecord类成员函数设置尺寸变量。

    建立新的尺寸标注样式与建立图层和定义字体样式基本相同。,其步骤为:

    A.以写的方式调用getDimStyleTable()函数打开当前图形数据库的尺寸标注样式表,获得指向该表的指针.

    B.调用构造函数AcDbDimStyleRecord()创建尺寸标注样式表记录对象。

    C.设置尺寸标注样式名。

    D.调用AcDbDimStyleRecord类的成员函数设置尺寸变量。

    E.调用add()函数将尺寸标注样式表记录加入到尺寸标注样式中。

    F.关闭尺寸标注样式表和尺寸标注样式表记录。

     

    8. 符号表记录的建立:

    9种符号表作为AutoCAD数据库中的根对象和容器,包含的下级对象为相应的符号表记录。符号表本身只能由AutoCAD系统建立而不能由应用程序创建,应用程序只能创建符号表记录。如块表中的块表记录,层表中的层表记录,字体样式表中的字体样式记录等,虽然各种具体的符号表记录名称不同,但建立的基本方法相同。归纳主要以下几步:

    A.以写的方式调用get##BASE_NAME##Table()函数打开数据库的## BASE_NAME##表,获得指向该表的指针。

    B.调用构造函数AcDb##BASE_NAME##Record()创建相应的符号表记录对象。

    C.调用setName()函数设置相应的符号表记录名。

    D.調用符号记录表的成员函数设置其属性。

    E.调用add()函数将所创建立的符号表记录加入其符号表。

    F.关闭符号表和符号表记录。

     

    9. 符号表记录的编辑:

    对于符号表的符号表记录,可以通过符号表记录类的成员函数对其属性进行编辑,如更改字体样式表的字型文件、文字的字高和宽度比例等。符号表记录的编辑实现技术可以分三步:

    A.以读的方式调用get##BASE_NAME##Table()函数打开数据库的##BASE_NAME##表,获得指向该表的指针。

    B.调用符号表类的成员函数getAt()获得符号表记录指针。

    C.调用相应的符号表记录成员函数修改其属性。

     

    10.符号表记录的查询:

    符号表记录的查询主要利用符号表浏览器和循环结构实现,步骤如下:

    A.利用AcDb##BASE_NAME##Table类的成员函数newIterator()创建符号表浏览器。

    B.利用循环结构和块表浏览器遍历块表。

    C.利用AcDb##BASE_NAME##TableIterator类的成员函数getRecord()获得符号表记录。

    D.利用成员函数getName()得到符号表记录名。

    例子:

    AcDb##BASE_NAME##Table *pTable;

    acdbHostApplicationServices()->workingDatabase()

    ->get##BASE_NAME##Table (pTable,AcDb::kForRead);

     

    AcDb##BASE_NAME##TableIterator *pIter;

    pTable ->newIterator(pIter);

    pTable ->close();

     

    AcDb##BASE_NAME##TableRecord *pRecord;

    for (pIter ->start();!pIter ->done();pIter ->step())

    {

    pIter ->getRecord(pRecord,AcDb::kForWrite);

    char *m_name;

    pRecord ->getName(m_name);

    //添加相应的操作

    free(m_Layername);

    pRecord ->close();

    }

    delete pLayerIter;

     

     

     

     

     

     

     

    三.对象字典的操作

    对象字典和符号表均是AutoCAD图形数据库中的容器对象。在9种符号表中,每一种符号表只能用来存储特定的对象,如块表用来存储块表记录,层表用来存储层表记录等,而对象字典却不受此限制,它可以存储任何类型的对象,包括其他对象字典、数据库对象和应用程序创建的对象。因此,所谓的对象字典实际上是一种通用的对象容器。

     

    1. 组字典的操作使用技术:

    组是实体等数据库对象的有序集合,是组字典的成员。从层次关系来看,组是管理其所包含对象的容器,而组字典则是管理组对象的容器。一个组实际上可以认为是一个选择集,但又不同于一般的选择集,它是組字典中一個有名的常驻对象。当组中的一个实体被删除时,该实体自动地从组中移出;当恢复被删除的是天时,该实体又自动地加入到该组中。使用组可以简化操作,容易实现对一批对象的颜色、层和线型等属性的统一修改。

    组字典中可以包含若干个组,每个组通过其组名来区分。

    A.直接从数据库中获得指向组字典的指针:

    Acad::ErrorStatus getGroupDictionaryAcDbDictionary*& pDictAcDb::OpenMode mode);

    B.从对象字典中获得组字典的指针:

    由于组字典是对象字典中的一个名为“ACAD_GROUP”的成员,因此先获得数据库中指向对象字典的指针,然后调用getAt()函数获得指向组字典的指针。

    AcDbDictionary *pNamedObj,*pGroupDict;

    acdbCurDwg()->getNamedObjectsDictionary(pNamedObj,AcDb::kForRead);

    pNamedObj->getAt("ACAD_GROUP",(AcDbObject *&)pGroupDict,AcDb::kForWrite);

     

    2. 将组加入组字典中:

    setAt(const char* srchKey,AcDbObject *newValue,AcDbObjectId& retObjId);

    各参数的意义为:srchKey为组名,用字符串表示;newValue为加入到组字典中的新组的指针;retObjId为函数返回的已加入组字典中的组对象的ID号。如果在组字典中已有同名的组存在,则将被新加入的组取代。调用该函数时,必须先创建组对象,将指向组对象的指针和定义的组名作为输入参数,并获得加入组字典中的组对象ID号。

    其中组对象为AcDbGroup类。具体的操作查相关的类函数即可!

     

    3.建立多线样式:

    多线是指多条互相平行的直线,各条线的线型、颜色和他们之间的间距等属性可互不相同。多条的这些属性由多线样式定义。定义一个多线样式的步骤为:

    A.通过getMLStyleDictionary()函数获得指向图形数据库中的多线样式字典的指针。

    B.用多线样式的构造函数AcDbMlineStyle()创建多线样式对象。

    C.利用AcDbDictionary类的成员函数setAt()将所建立的多线样式加入字典中。

    D.调用有关函数设置多线样式的属性,如设置多次按名称、元素特性和多线特性等。

     

    4.用户对象字典的操作和使用技术:

    AutoCAD数据库中,对象字典是字典类数据库对象的总称。按其层次关系可分为两类,一是由AutoCAD数据库直接管理的第一层对象字典;二是由第一层对象字典管理的第二层对象字典。为了便于区别,我们把第一层对象字典成为有名对象字典,用户在应用程序中定义的字典成为用户字典。前面提到的组字典、多线样式字典和用户对象字典均属于第二层对象字典,其中组字典和多线字典是系统自动生成的对象字典。

    对象字典的第三层为字典中的对象。如:组诗组字典中的对象,多线样式是多线样式字典中的对象,在用户对象字典中可以包含任何类型的对象,如实体对象、自定义对象和数据库对象等。有名对象字典中的各用户对象字典之间,通过其字名来表示;用户字典中的对象利用其对象名来区分。

    4.1 用户对象字典的定义和字典对象的查询:

    在有名对象字典中定义一个用户对象字典的实质是创建一个AcDbDictionary类对象,并将其加入有名对象字典中,其步骤为:第一,调用AcDbDatabase类的成员函数getNameObjectDictionary()得到有名对象字典的地址(即指针);第二,定义新的用户对象字典并加入有名对象字典中。

    例子:

    AcDbDictionary *pNamedObj; //定义有名对象字典

    acdbCurDwg()->getNamedObjectsDictionary(pNamedObj,AcDb::kForWrite);

    AcDbDictionary *pDict = new AcDbDictionary; //定义用户对象字典

    AcDbObjectId eid;

    pNamedObj->setAt("Name",pDict,eid);

    而在用户字典中对象查询的第一步是建立字典浏览器遍历对象字典:

    AcDbDictionaryIterator *pDictIter = pDict->newIterator();

    字典对象查询的第二步是得到指向对象的指针:

    pDictIter->getObject(pObj,AcDb::kForRead);

    在获得对象指针的前提下,可以利用对象的成员函数进行查询、检索和编辑等操作。

    另外,用户字典中的对象名可以用AcDbDictionaryIterator类的成员函数name()获得。而该对象名表示的对象类名可以用“pObj->isA()->name()”形式获得。

    需要注意的是:将块表记录中的实体对象加入用户字典,并不是将实体复制到字典中,而是在字典中存储其对象的指针。因此,当块表记录中的实体被删除后,在字典中相应的对象名和指针也不再存在。

     

    4.2 用户对象字典:扩展记录的加入和查询。

    扩展记录属于AcDbxrecord类的对象,可用来定义任何类型的数据。扩展记录的数据项采用结果缓冲区链表的形式定义,每一项由DXF组码和相应的组值构成。扩展记录是一个在应用程序中定义的数据库对象,属于有名对象字典的下级对象或某一对象的扩展字典和其他扩展记录的下级对象。

    ARX中创建扩展记录的主要步骤如下:

    1.获得数据库中指向有名对象字典的指针。

    2.建立一个新的用户脆响字典,并加入有名对象字典中。

    3.创建新的扩展记录,并加入用户对象字典中,如:

    AcDbXrecord *pXrec = new AcDbXrecord;

    pDict->setAt("XREC1", pXrec, xrecObjId);

    4.ads_buildlist()函数构造由扩展记录数据项组成的缓冲区链表,其一般形式为:

    ads_buildlist(<组码1><组值1><组码2><组值2>,……,0)

    5. 调用AcDbXrecord的成员函数setFromRbChain()设置扩展记录所指向的链表指针。

     

    三.ARX应用程序中的尺寸标注技术

    1. 尺寸对象的组成和常用的尺寸标注类:

    尺寸标注也是AutoCAD数据库中块表记录中的一种对象。一个完整的尺寸对象由尺寸标注线,尺寸界线,尺寸箭头和尺寸文字构成。

    AutoCAD数据库中,AcDbDimension类为尺寸标注的基类,其派生类主要有对齐标注(AcDbAlignedDimension),两线定角标注(AcDb2LineAngularDimension),三点定角标注(AcDb3PointAngularDimension),直径标注(AcDbDiametricDimension),半径标注(AcDbRadialDimension),坐标尺寸标注(AcDbOrdinateDimension),定角标注(AcDbRotatedDimension)等。

    尺寸标注类是实体类(AcDbEntity)的派生类,其主要成员函数的原型为:

    1.设置尺寸文字位置:

    Acad::ErrorStatus setTextPosition(const AcGePoint3d& unnamed);

    2. 设置尺寸标注样式:

    Acad::ErrorStatus setDimensionStyle(AcDbObjectId unnamed);

    3. 设置尺寸文字:

    Acad::ErrorStatus setDimensionText(const char* unnamed);

    4. 设置尺寸文字旋转角度:

    Acad::ErrorStatus setTextRotation(double unnamed);

    5. 查询尺寸文字:

    Char* dimensionText()const;

    6. 查询尺寸文字位置:

    AcGePoint3d textPosition()const;

    7. 查询尺寸文字旋转角度

    double textRotation()const;

    2.尺寸标注的鼠标拖动技术:

    实现尺寸标注线和尺寸文字为字的鼠标拖动的关键是跟踪鼠标的移动,并根据鼠标的位置动态显示尺寸标注。用ads_grread()憾事跟踪鼠标的移动,其函数原型为:

    Int ads_grread(int track,int *type,struct resbuf *result);

    参数track为控制位,其值为1则将鼠标的坐标存入result中;type表示输入的种类,如按鼠标左键,则type=3

    尺寸标注的鼠标拖动原理为:

    首先,设置ads_grread()函数控制位track=1,在循环结构中用ads_grread()函数追踪鼠标的移动,获得当前鼠标位置的x,y坐标。用ads_grread(track,&type,&result)形式调用,则点的xy坐标值可分别用result.resval.rpoint[X]result.resval.rpoint[Y]形式获得。其次,以写方式打开尺寸标注对象,用获得的XY坐标设置尺寸标注线和尺寸位置,并关闭对象。循环执行,实现尺寸步标注对象的拖动。如果按鼠标左键拾取一个点,则type=3,结束循环。

    例子:公差标注设置函数:

    void SetDimtpAndDimtm(double tp,double tm)

    {

    AcDbDimStyleTable *pDimStyleTbl;

    acdbCurDwg()->getDimStyleTable(pDimStyleTbl,AcDb::kForRead);

    AcDbDimStyleTableRecord *pDimStyleTblRcd;

    pDimStyleTbl->getAt("",pDimStyleTblRcd,AcDb::kForWrite);

    if (fabs(tp) == fabs(tm))

    {

    pDimStyleTblRcd->setDimtfac(1.0)

    }

    else pDimStyleTblRcd->setDimtfac(0.5);

    if (tp == 0.0 && tm == 0.0)

    {

    pDimStyleTblRcd->setDimtol(0);

    }

    else

    {

    pDimStyleTblRcd->setDimtp(tp);

    pDimStyleTblRcd->setDimtol(1);

    pDimStyleTblRcd->setDimtm(tm);

    }

    pDimStyleTblRcd->close();

    pDimStyleTbl->close();

    }

     

    3.图案填充函数介绍:

    图案填充函数AcDbHatCh也是实体立体(AcDbEntity)的派生类,与尺寸标注类似,图案填充也是 AutoCAD数据库中块表记录中的一种对象。

    生成图案填充对象的步骤为:

    A.调用图案填充类的构造函数创建AcDbHatch类对象。

    B.调用AcDbHatch类的成员函数设置填充图案的法向矢量,关联,标高,缩放比例,填充图案,填充方式和填充边界等属性。

    C.调用evaluateHatch()显示填充图案。

    D.将AcDbHatch类对象写入当前图形数据库的块表记录中。

     

    4.ARX应用程序中视图管理技术和应用:

    视图和视口是AutoCAD环境中图形显示中经常涉及到的基本概念。图形屏幕上用于显示图形的一个矩形区域称为视口,可以把整个图形屏幕作为一个视口,也可以把整个视图屏幕设置成多个视口。当前视口中显示的复杂图形按不同的窗口大小设置,并以视图名为表示在图形数据库中保存。在需要时,显示指定视图以满足对图形编辑和浏览的需要。

    视图的管理包括视图的定义,显示,属性设置和查询等功能。在AutoCAD的交互环境中,用户可以使用VIEW命令对视图进行命名,保存,恢复和删除。在ARX应用程序中,主要是通过使图表类及视图表记录类的成员函数实现视图的管理功能。

    视图类作为视图表(AcDbViewTable)中的一条视图记录(AcDbViewTableRecord)保存在AutoCAD数据库中。把当前视口中指定窗口每得图形定义为一个新的视图的操作等价于向数据库中添加一个AcDbViewTableRecord类对象。其实现步骤为:

    A.调用视图标记录类的构造函数创建AcDbViewTableRecord类对象;

    B.调用AcDbViewTableRecord类的成员函数设置视图名,视图中心点,视图高度和宽度等属性;

    C.获得当前图形数据库中的视图表指针,将AcDbViewTableRecord类对象添加到数据库中。

    视图的查询首先要获得当前图形数据库中指定视图师表记录的指针,然后调用相应的成员函数得到该视图的属性。

     

    四.ARX中的实体造型技术和应用

    三维造型包括线框模型、表面模型和实体模型三种形式,其中三维实体具有体的特征。能夠較全面地反映形体的物理特征。在机械CAD中,利用实体造型技术用户不仅可以通过并、交、差布尔运算生成所需的机械零部件模型,而且还能够对形体进行剖切成剖视图以进行体积、重心和惯性矩等物性计算和分析,进而在实体模型的基础上生成NC代码,在ARX应用程序中,并不是直接使用AutoCAD系统本身提供的有关实体造型和编辑命令,而是通过直接生成数据库对象及调用AcDb3dSolid类的成员函数来进行实体造型。

    1.基本三维实体生成方法:

    AutoCAD数据库中,三维实体属于AcDb3dSolid类对象,该类是AcDbEntity类的派生类。

    对于一个具体的几何实体,即ACIS对象来说,AcDb3dSolid实体是一个容器和接口。

    通过AcDb3dSolid类的成员函数可以生成各种基本的三维实体以及实现实体的布尔运算。生成三维实体的基本步骤为:

    A.调用AcDb3dSolid类的构造函数创建一个容器对象:

    如:AcDb3dSolid *p3dObj = new AcDb3dSolid;

    B.调用AcDb3dSolid类的成员函数创建基本三维实体对象。其一般形式为:

    指向AcDb3dSolid类对象的指针-〉创建基本三维实体对象成员函数。

    B.将AcDb3dSolid类对象写入当前图形数据库的块表记录中,其代码设计方法与二维对象的添加完全相同。

     

     

     

    ARX程序的消息响应:

    ARX程序实质上是一动态库,它直接与AutoCAD进行对话,即AutoCAD发送各种消息给ARX程序,ARX程序负责对各种消息作出相应的处理。

    kInitAppMsg:

    ARX程序被加载时发送该消息,用以建立AutoCAD和应用程序之间的对话。

    kUnloadAppMsg:

    ARX程序卸载时(不论是用户卸载应用程序,还是由AutoCAD终止退出)发送该消息,关闭文件以及执行必要的清理工作。

    kOleUnloadAppMsg:

    发送该消息确定应用程序是否可以卸载,即该应用程序的ActiveX对象或接口是否被其他应用程序所引用。

    kLoadDwgMsg:

    当打开一幅图形时发送消息,此时AutoCAD的图形编辑环境进行了初始化,并且,应用程序可以调用ARX的全局函数,而acedCommand()函数除外。

    kUnLoadDwgMsg:

    当用户退出当前的图形编辑时发送该消息。

     

    下面的代码将实例生成由某一图层上所有的实体组成的选择集:

    struct resbuf *plb;

    char sbuf[32];

    ads_name ss1;

    plb = acutNewRb(8) //图层DXF组码是8

    strcpy(sbuf,PARTS); //图层名为PARTS

    plb->resval.rstring = sbuf;

    plb->rbnext = NULL;

    acedSSGet(“X”,NULL,NULL,plb,ss1);

    acutRelRb(plb); //don’t forget

    下面的例子是选择“PARTS”图层上的所有圆,这是一个利用acutBuildList()函数构造结果缓冲区表后再传给acedSSGet()函数的实例:

    ads_name ss1;

    struct resbuf *rb1;

    rb1 = acutBuildList(RTDXFO,”CIRCLE”,8,”PARTS”,RTNONE);

    acedSSGet(“X”,NULL,NULL,rb1,ss1);

    acutRelRb(plb); //don’t forget


    由于Arx程序本质是一个动态链接库程序,所以当该程序的生命周期为加载到卸载或CAD程序结束为止。使用静态变量时,注意及时清空静态变量。同理全局变量。否则可能会影响下一次运行结果的正确性。

    展开全文
  • 图块剪裁】XC(图块剪裁XCLIP)

    千次阅读 2019-01-29 08:16:15
    命令内容简介本期文章,给大家带来一个较实用命令——剪裁命令全称:Xclip【快捷键XC】该命令只能针对属性是“”(或“外部参照”)的对象,可以通过自定义区域多段线来隐藏或者单独显示“...

    命令内容简介

    本期文章,给大家带来一个较实用命令——剪裁

    命令全称:Xclip【快捷键XC】

    该命令只能针对属性是“块”(或“外部参照”)的对象,可以通过自定义区域多段线来隐藏或者单独显示“块”(或“外部参照”)的某一个部分。

    实用性:突出表示大图中的某一个独立小图(区域

    实例文件演示

    看懂图片的意思没有呢?

    同一个块对象、显示内容却不一样!

    好像有点违反CAD常理了

    XC命令就是这么6

    技巧Get来袭

    CAD中绘制好需要的对象(教程以箭头为例)

    执行B建立块命令,将整个物体建立成块

    选中块、然后Ctrl+1,可查询属性为“块参照”(B)

    正向剪裁

    使用多段线PL命令,绘制出封闭多段线(剪裁区域线)

    此时绘制的多段线就是单独显示块的边界线

    输入命令XC(或xclip)

    确定后选择对象 :刚刚建立的块

    确定出现“剪裁选项”(图示当前的面板)

    空格进入下一步(图示面板)

    选择多段线(S),点击蓝色多段线

    确定之后,蓝色多段线外围对象被隐藏了

    选中蓝色多段线,E或者Delete删除

    单独显示多段线内部的块内容(最终结果)

    本质还是块,但是只显示了某些部分

    反向剪裁

    输入I(插入块)命令,选择创建的块

    插入一个块到当前文件内部

    绘制出蓝色多段线(PL),注意是闭合的

    蓝色多段线作为边界线,是用来剪裁块的

    执行命令XC(xclip)

    确定之后,选择对象:之前插入的块对象

    确定后,出现图示选项面板

    空格进入到当前界面,选择“反向剪裁(I)”

    确定后选中“选择多段线(S)”

    点击蓝色多段线后,多段线外部的块单独显示

    选中蓝色多段线删除

    还是同一个块对象,但是显示内容不一样

    注意区分上面两个操作:正向剪裁和反向剪裁

    删除剪裁

    执行XC命令(xclip)

    点击剪裁后的对象(块)

    选择“删除(D)”选项

    之前被隐藏掉的块区域完整显示出来

    边框提取

    执行XC命令(或xclip)

    点击之前剪裁过的块对象

    选择“生成多段线(P)”选项

    之前剪裁块的多段线自动生成(PL)

    多段线外框(本质PL)

    边框设置

    菜单栏“修改”——“对象”——“外部参照”——“边框”

    显示出之前剪裁块的边界线(但不是多段线、注意区分

    功能新解

    高版本CAD可直接点击箭头夹点来切换正向和反向显示

    展开全文
  • 在上一篇文章中我们在图形化界面进行了虚拟机的搭建,今天这篇文章主要是采用命令的方式进行搭建,环境和上篇文章的相同,这里不加以叙述,直接开始安装 创建文件夹 mkdir /data 将一硬盘进行分区 fdisk /dev/sdc ...

    在上一篇文章中我们在图形化界面进行了虚拟机的搭建,今天这篇文章主要是采用命令的方式进行搭建,环境和上篇文章的相同,这里不加以叙述,直接开始安装

    创建文件夹
    mkdir /data
    将一块硬盘进行分区
    fdisk /dev/sdc
    将硬盘格式化
    mkfs.xfs /dev/sdc
    将硬盘挂载在刚刚创建的文件夹下
    mount /dev/sdc /data

    创建虚拟机磁盘

    qemu-img create -f qcow2 /data/centos7u4-node1.qcow2 10G

    //创建虚拟机实例
    virt-install --name centos71 --vcpus 1 --virt-type kvm --ram 1024 --location=/tmp/CentOS-7-x86_64-DVD-1708.iso --disk path= /data/centos7u4-node1.qcow2 --network bridge=br0 --graphics none --extra-args=‘console=ttyS0’ --force

    //查看正在运行的KVM虚拟机
    [root@kvm-node1 ~]# virsh list
    //查看所有KVM虚拟机
    [root@kvm-node1 ~]# virsh list --all

    //启动KVM虚拟机
    #virsh start name
    //关闭KVM虚拟机
    #virsh shutdown name
    //强制关闭KVM虚拟机
    #virsh destroy name

    //挂起KVM虚拟机
    #virsh suspend name
    //恢复挂起的虚拟机
    #virsh resume name

    //编辑KVM虚拟机的xml配置文件
    #virsh edit name
    //删除创建的KVM虚拟机
    #virsh undefine name

    快照命令:
    virsh snapshot-create centos7u4-node1
    virsh snapshot-revert centos7u4-node1

    virt-install常用参数
    · -n --name= 客户端虚拟机名称
    · -r --ram= 客户端虚拟机分配的内存
    · -u --uuid= 客户端UUID 默认不写时,系统会自动生成
    · --vcpus= 客户端的vcpu个数
    · -v --hvm 全虚拟化
    · -p --paravirt 半虚拟化
    · -l --location=localdir 安装源,有本地、nfs、http、ftp几种,多用于ks网络安装可以写镜像文件的绝对路径
    · --vnc 使用vnc ,另有–vnclient=监听的IP --vncport =VNC监听的端口
    · -c --cdrom= 光驱 安装途径
    · --disk= 使用不同选项作为磁盘使用安装介质
    · -w NETWORK, --network=NETWORK 连接客户机到主机网络
    · -s --file-size= 使用磁盘映像的大小 单位为GB
    · -f --file= 作为磁盘映像使用的文件
    · --cpuset=设置哪个物理CPU能够被虚拟机使用
    · --os-type=OS_TYPE 针对一类操作系统优化虚拟机配置(例如:‘linux’,‘windows’)
    · --os-variant=OS_VARIANT 针对特定操作系统变体(例如’rhel6’, ’winxp’,‘win2k3’)进一步优化虚拟机配置
    · --host-device=HOSTDEV 附加一个物理主机设备到客户机。HOSTDEV是随着libvirt使用的一个节点设备名(具体设备如’virsh nodedev-list’的显示的结果)
    · --accelerate KVM或KQEMU内核加速,这个选项是推荐最好加上。如果KVM和KQEMU都支持,KVM加速器优先使用。
    · -x EXTRA, --extra-args=EXTRA 当执行从"–location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序
    · --nographics “virt-install” 将默认使用–vnc选项,使用nographics指定没有控制台被分配给客户机

    [root@director ~]# virt-install  -n Nested-VM  --description "Test Nested VM"  --os-type=Linux  --os-variant=rhel7  --ram=2048  --vcpus=2  --disk path=/var/lib/libvirt/images/nestedvm.img,bus=virtio,size=10  --graphics none  --location /var/lib/libvirt/images/CentOS-7-x86_64-DVD-1511.iso --extra-args console=ttyS0
    Starting install...
    Retrieving file .treeinfo...                                                   | 1.1 kB  00:00:00
    Retrieving file vmlinuz...                                                     | 4.9 MB  00:00:00
    Retrieving file initrd.img...                                                  |  37 MB  00:00:00
    Allocating 'nestedvm.img'                                                      |  10 GB  00:00:00
    Connected to domain Nested-VM
    Escape character is ^]
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    

    1)其中【X】表示已经安装设置完毕,“q” 是退出,“b” 是开始安装,“r” 是刷新。

    2)选择数字比如选择“5”配置磁盘,

    3)选择“1”配置好后,选择“C” 表示继续,继续设置其它的选项。

    4)选择“7”配置网络,选择“1”设置VM的机器名后,选择“2”,在2里面选择“7”和“8”之后,网络配置完成。
    5)时区“2”的选择 “5”亚洲 和“62” 上海即可。

    6)选择“4”,软件安装根据需求安装,这里只选择“1”,最小安装即可。

    7)选择“8”,注意9创建用户可以不建立用户。之后选择“b”,开始安装,进入安装界面。

    展开全文
  • 1.基础介绍 1.1 简述 ...  网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。它是Linux上用来做TCP/IP二层协议交.
     
    

    1.基础介绍

    1.1 简述

    • 什么是网桥

      网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。它是Linux上用来做TCP/IP二层协议交换的设备,与现实世界中的交换机功能相似。Bridge设备实例可以和Linux上其他网络设备实例连接,既attach一个从设备,类似于在现实世界中的交换机和一个用户终端之间连接一根网线。当有数据到达时,Bridge会根据报文中的MAC信息进行广播、转发或丢弃处理。
      LinuxBridge是实现Neutron Network、Port及它们的抽象化连接的Neutron L2插件。Neutron网络将映射到由该插件管理的独立VLAN。在实例化Instance时,将在主机上创建与该VLAN对应的子接口,并创建一个Linux Bridge来管理该子接口。而网络中VM的一个或多个虚接口将会与该网桥连接。综上所述,LinuxBridge实现了支持Linux Bridge的系统以创建基本VLAN的目的。

    • 场景功能实现——Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联:

      思路其实很简单:就是将虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址,其他子网微机配置网关为bridge口的地址便可以了。当然,因为是设备是网关模式,路由和nat也是必须的了。如果设备本身便是网桥模式,那么路由和nat便可以省掉了(此处可以参考VMware虚拟机网卡模式)。

    1.2 网桥配置命令及安装(CentOS系统)

    • Linux 网桥配置命令1:brctl/bridge
    yum install -y bridge-utils
    

      或者下载bridge-utils-1.4.tar.gz进行安装,编译安装bridge-utils。

    • Linux 网桥配置命令2:使用iproute2工具实现网桥配置,命令ip link/addr …
    yum install -y iproute
    
    • 持久化网桥配置,修改network的指定文件
    cd /etc/sysconfig/network-scripts/
    cp ifcfg-ensp1 ifcfg-br0
    

    1.3 桥的使用

    Linux虚拟网络设备之bridge(桥)

    2. brctl和bridge命令建桥

    2.1 brctl命令说明及范式

    brctl addbr br1 			#创建网桥
    brctl addif br1 enp4s0 		#为网桥添加物理接口
    brctl delbr br1 			#删除网桥
    brctl delif br1 enp4s0 		#删除网桥接口
    brctl show 					#显示网桥列表信息
    brctl show br1 				#显示网桥br1的信息
    brctl showmacs br1 			#显示网桥的MAC地址信息
    brctl showstp br1			#显示网桥的stp信息
    brctl stp br-test on|off	#开|关stp
    
    • brctl命令范式,可以通过对应英文参数,执行需要的命令
    [root@localhost ~]# brctl
    Usage: brctl [commands]
    commands:
            addbr           <bridge>                add bridge
            delbr           <bridge>                delete bridge
            addif           <bridge> <device>       add interface to bridge
            delif           <bridge> <device>       delete interface from bridge
            hairpin         <bridge> <port> {on|off}        turn hairpin on/off
            setageing       <bridge> <time>         set ageing time
            setbridgeprio   <bridge> <prio>         set bridge priority
            setfd           <bridge> <time>         set bridge forward delay
            sethello        <bridge> <time>         set hello time
            setmaxage       <bridge> <time>         set max message age
            setpathcost     <bridge> <port> <cost>  set path cost
            setportprio     <bridge> <port> <prio>  set port priority
            show            [ <bridge> ]            show a list of bridges
            showmacs        <bridge>                show a list of mac addrs
            showstp         <bridge>                show bridge stp info
            stp             <bridge> {on|off}       turn stp on/off
    

    2.2 brctl场景使用

    brctl addbr bridge
    brctl addif bridge eth0
    brctl addif bridge ath0
    ifconfig eth0 0.0.0.0
    //将有线和无线都设置为192.168.1.*网段,即可通过网上邻居进行访问
    ifconfig bridge 192.168.1.0 netmask 255.255.255.0 up
    //添加iptables -t nat -A POSTROUTING -o ath0 -j SNAT --to 192.168.2.173
    

    2.3 bridge命令及范式

      bridge命令可参考官方文档,主要用于bridge运维。

    #通过bridge link命令可以看到各个桥上连接了哪些设备
    bridge link
    
    Usage: bridge [ OPTIONS ] OBJECT { COMMAND | help }
           bridge [ -force ] -batch filename
    where   OBJECT := { link | fdb | mdb | vlan | monitor }
            OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] |
                         -o[neline] | -t[imestamp] | -n[etns] name |
                         -c[ompressvlans] -j{son} }
    

    3.ip命令建桥

    3.1 ip命令建桥说明

    ip link add br2 type bridge 			#创建网桥
    ip link set dev enp4s0 master br2		#为网桥添加物理接口
    ip link del br2 type bridge 			#删除网桥
    ip link set dev enp4s0 nomaster			#删除网桥接口
    ip addr show type bridge				#显示网桥列表信息
    ip addr show type bridge br2 			#显示网桥br2的信息
    
    • 如果需要查看网卡挂载桥信息,可以采用ip addr命令实现,如下图所示,master后面表示挂载得网桥名称;

    4.桥的持久化

      对于centos而言,如果重启网络服务,则所有的配置则会消失,所以我们需要修改配置文件,才能永久保存网桥配置;

      配置文件如下:

    cd /etc/sysconfig/network-scripts/
    cp ifcfg-enp1s0 ifcfg-br0
    
    #编辑配置文件
    vim ifcfg-br0
      TYPE=Bridge  #注意,这个地方一点要大写
      BOOTPROTO=none
      DEVICE=br0  #指定设备名称,一定要与文件名中ifcfg-br0后的"br0"相同
      ONBOOT=yes  #开机启动
      IPADDR=192.168.1.1  #配置网桥的地址
      NETMASK=255.255.255.0
      GATEWAY=192.168.238.1  #指定网关
      :wq
    
    vim ifg-enp1s0
      TYPE=Ethernet
      BOOTPROTO=none
      NM_CONIROLLED=no
      NAME=enp1s0
      DEVICE=enp1s0
      ONBOOT=yes
      BRIDGE=br0  #将该网卡桥接到br0上面去
      :wq
    
    systemctl restart network	#重启网络服务
    
    展开全文
  • CAD做图常用的命令

    千次阅读 2012-08-09 13:21:33
    1.熟练掌握一些常用的命令,并理解各参数的用法,也就20-40个命令, 2.掌握常用命令的快捷键,对有些命令可以了解. 3.边做边学,我用cad已经2年了,有些命令也不完全了解,用时再查看资料学习. 4.对照教科书一步一步,...
  • 上期我们介绍了如何利用C#在CAD中绘制直线和圆,这期我们介绍一下CAD中两个比较重要的功能,插入文字和插入图块,在CAD中插入文字主要是单行文字和多行文字,插入块主要有内部图块和外部图块。本文主要介绍插入多行...
  • 在Debian/Ubuntu发行版操作系统上virt-install一般路径为/usr/bin/virt-install(其实里面就用exec创建了个子进程: exec “/usr/share/virt-manager/virt-install” “$@”,其为一个python程序),由软件包virtinst...
  • 创建新主分区sda3和扩展分区sda4,并在扩展分区上再创建两个逻辑分区,要求:新主分区大小为53柱面,扩展分区大小为500MB,第一个逻辑分区大小为1096KB,剩下的空间全部分给第二个逻辑分区,保存分区信息;...
  • 图块大家用得都比较多了,但组(Group)用到的人并不多,因为在AutoCAD菜单里似乎找不到这个命令,在浩辰CAD倒是提供了“组工具”的工具栏,在扩展工具里,可以快速创建和分解组。 组到底有什么用呢?组和图块有什么...
  • 创建Ceph存储 目标 使用Ceph集群的存储功能,实现以下目标: 创建块存储镜像 客户端映射镜像 删除镜像 步骤 实现此案例需要按照如下步骤进行。 步骤一:创建镜像 1)查看存储池,默认存储池名称为rbd。 [root@...
  • 通过流程的方式,使得读者更为清晰的了解Docker Client创建及执行请求的过程。其中涉及了诸多源代码中的特有名词,在下文中会一一解释与分析。 3.1. Docker命令的flag参数解析 众所周知,在Docker的具体...
  • 文章目录linux 系统命令总结大全关于作者**作者介绍**0.IP 地址相关命令0.1 ...文件目录命令1.1 ls 命令 --显示目录下的内容1.2 cd 命令 ---切换目录命令1.3 cp 命令---复制文件或目录1.4 mkdir ---创建目录1.5 rmdir
  • Matlab 显示图片和SubPlot命令

    万次阅读 2010-07-31 09:27:00
     matlab显示图片命令: f1=imread('E:/iaprtc12/iaprtc12/images/02/2007.jpg') %读取图像矩阵 imshow(f1) %显示该图像 但是如果需要在一个界面内显示多幅图片 就需要SubPlot命令帮助了 形式:subplot(m,n,p...
  • 在Chromium中,Render进程在绘制网页之前,要为网页创建一个绘图表面。绘图表面描述的是网页经过渲染之后得到的输出。这个输出需要交给Browser进程处理,才能显示在屏幕上。在硬件加速渲染条件下,这个输出有可能是...
  • Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回...上篇主要是说用GUI来图形化界面操作,但是一般我们程序员也不会这么干,用命令又轻松又愉悦,所以,这里我就再开了一篇来专门说一下纯命令是怎么去操
  • 深入浅出--Linux基础命令知识(总结,配图文解释)

    万次阅读 多人点赞 2020-08-10 03:29:16
    前言:在学习Linux时候想必大家都会遇到一个问题,就是Linux中命令太多了,今天博主给大家总结总结收集一下咱们最常用到的命令:(在本博主用的操作系统中感觉Ubuntu是比较好用的,所以一切都在Ubuntu中,但是命令不影响啥)...
  • 在张帆老师的教程中,有VC6.0+ObjectArx2002创建对话框的详细指导,但由于项目需要,开发环境...本文将创建一个在对话框中查看定义图标的程序,通过对实现流程和源代码的讲解,详细介绍ObjectArx2010+VC2008开发MFC
  • linux 操作系统笔记基础命令

    万次阅读 多人点赞 2021-05-28 13:59:30
    文章目录linux 基础命令cd 命令详解ls 命令详解pwd 命令详解hostname命令详解clear命令详解who、whoami、w 命令which 命令cal 命令详解ldd 命令详解scp 命令详解ssh 命令linux 用户权限useradd 命令详解usermod 命令...
  • 图形表示openstack VPC的创建过程

    千次阅读 2018-07-20 11:02:04
     绿色的块块表示属于某个租户的,蓝色的块块表示属于某个VPC的,白色的块块表示属于某个数据中的;  中次序可以调整的,不一定完全按照中次序部署;就像传统机房建设,可以先放主机,也可以先...
  • 使用shell脚本创建好的图形应用程序

    千次阅读 2011-04-20 11:30:00
    http://sd.csdn.net/a/20110420/296194.html ,作者:Martin Streicher     对话UNIX:使用shell脚本创建好的图形应用程序 <br />  简介: 命令行不适合于每一位用户。...
  • Linux常用命令介绍

    万次阅读 2016-06-10 20:32:20
    在使用Linux操作系统的过程中,我们经常要用到一些特殊的命令,不仅显示了技术的高超,而且在效率方面当然要比图像化界面高很多,下面我总结了一些常见的Linux命令,供以后学习使用,使用命令时,在命令后面加参数...
  • 基本的bash shell命令

    千次阅读 2017-09-13 22:59:47
    大多数linux发行版的默认都是GUNbash shell,本次将介绍bash shell的一些基本特征,bashshell基本命令来操作linux文件和目录。 1.启动shell Gun bash能提供对linux系统的交互式访问,它是作为普通的程序运行的,...
  • Linux系统常用基本命令总结

    万次阅读 多人点赞 2018-11-13 22:42:20
    Linux基本命令 Linux的简介 Linux的厂商 Linux的目录结构 基于虚拟机的环境搭建 常用命令与示例 一、文件基本操作命令 1. ls命令 2. pwd命令 3. mkdir命令 4. cd命令 5. touch命令 6. cp命令 7. mv命令...
  • Linux系统常用的基本命令

    万次阅读 多人点赞 2018-08-15 15:11:08
    本文主要介绍Linux中常用的基本命令,简单实用,以供大家参考,如有错误,欢迎大家指出。下面开始介绍。 一、查看哪个用户登录的系统 1、users命令 2、whoami命令或者who am i命令 二、查看哪些用户在系统上...
  • 【Linux】Linux常用命令

    万次阅读 2018-05-29 09:55:03
    这个原因是默认情况下,cp命令是有别名(alias cp='cp -i')的,无法强制覆盖,即使使用 -f 参数也无法强制覆盖文件。 解决方法: 可以使用\cp 执行cp命令时不走alias。 比如: [root@localhost ~]# \cp -a ...
  • GraphicsMagick 1.3.23 常用命令

    千次阅读 2016-08-22 23:56:10
    官网上有安装和使用方法,命令使用手册:http://www.graphicsmagick.org/utilities.html常用命令 benchmark: 测量和报告实用程序命令的性能 ...convert:转换图像或图像序列,模糊,裁剪,驱除污点,抖动,临近,
  • linux创建用户

    千次阅读 2017-08-11 18:08:36
    来源:... 一、常用命令: (1)创建用户命令两条: adduser useradd (2)用户删除命令: userdel 二、两个用户创建命令之间的区别 adduser: 会自动为创建的用户指定主目录、系统shel
  • Linux系统编程常用命令总结

    万次阅读 多人点赞 2019-08-14 23:08:29
    一、Linux常用命令 1、常用工具 2、目录和文件命令 3、安装和卸载软件命令 4、压缩包管理 5、文件属性、用户用户组及查找与检索命令 6、网络管理命令 7、其他命令 二、Linux vi/vim常用命令 三、Linux下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 224,655
精华内容 89,862
关键字:

创建图块的命令是