git fork

http://bailong139.blog.163.com/blog/static/207238100201422412659845/

需求:B要加入A的项目,不论是作为B的初始项目进行二次开发还是成为A项目的一员加入一起开发,步骤如下:

1. B首先要fork一个。
   原版: {B首先到A的github上,也就是此项目的位置:https://github.com/A/durit,然后单击fork,然后你(B)的github上就出现了一个fork,位置是:https://github.com/B/durit}
   改版:点击项目里的 管理 -》项目成员管理-》开发者-》添加项目成员-》搜索添加(也可以用其他方法)-》手动复制链接给用户


2.B把自己的fork克隆到本地。
$ git clone https://github.com/B/durit
(当你clone到本地,会有一个默认的远程名叫"origin",它指向了fork on github,也就是B上的fork,而不是指向A)

3.现在你是主人,为了保持与A的durit的联系,你需要给A的durit起个名,供你来驱使。
$ cd durit
$ git remote add upstream https://github.com/A/durit
(现在改名为upstream,这名随意,现在你(B)管A的durit叫upstream,以后B就用upstream来和A的durit联系了)

4.获取A上的更新(但不会修改你的文件)。
$ git fetch upstream
(这不,现在B就用upstream来联系A了)

5.合并拉取的数据
$ git merge upstream/master
(又联系了一次,upstream/master,前者是你要合并的数据,后者是你要合并到的数据(在这里就是B本地的durit了))

6.在B修改了本地部分内容后,把本地的更改推送到B的远程github上。
$ git add 修改过的文件
$ git commit -m "注释"
$ git push origin master
(目前为止,B上的github就跟新了)

7.然后B还想让修改过的内容也推送到A上,这就要发起pull request了。
 打开B的github,也就是https://github.com/B/durit
 点击Pull Requests
 单击new pull request
 单击create pull request
 输入title和你更改的内容
 然后单击send pull request
 这样B就完成了工作,然后就等着主人A来操作了。

8.在B想要更新A的github上到内容时,结果冲突,因为B和A同时修改了文件,比如说是README.ME,该这样做:
$ git status(查看冲突文件)
找到冲突文件(README.MD)后,打开并修改,解决冲突后
$ git add README.MD
$ git commit -m "解决了冲突文件README.MD"
现在冲突解决了,可以更新A的内容了,也就是上面第4步和第5步
### SolidWorks 二次开发:零件导入装配体功能实现 #### 功能概述 SolidWorks 提供了强大的 API 接口,允许开发者通过编程方式控制其功能。要实现将零件导入到装配体中的功能,可以利用 SolidWorks 的 COM 自动化接口来完成此任务[^1]。 以下是关于如何通过 SolidWorks API 实现零件导入装配体的具体方法: --- #### 技术准备 1. **安装 SolidWorks API SDK** 确保已从官方渠道下载并正确安装 SolidWorks API SDK,以便获取必要的库文件和文档支持。 2. **Python 环境配置** 使用 `swapy` 或其他工具桥接 Python 和 SolidWorks 的 COM 对象模型。如果使用 C# 或 VBA,则需确保 Visual Studio 已集成 SolidWorks 插件。 --- #### 关键步骤解析 ##### 创建装配体对象 在 SolidWorks 中,装配体由 `SldWorks.AssemblyDoc` 类表示。可以通过打开现有装配体或创建新装配体的方式初始化该对象。 ```python import win32com.client # 启动 SolidWorks 应用程序实例 app = win32com.client.Dispatch("SldWorks.Application") # 打开现有的装配体文件(可选) assembly_path = r"C:\path\to\your_assembly.sldasm" assembly_doc = app.OpenDoc6(assembly_path, 2, 0, "", 0, 0) if not assembly_doc: # 如果未找到指定的装配体,则新建一个 assembly_doc = app.NewAssembly() ``` 上述代码片段展示了如何启动 SolidWorks 并加载/创建装配体文档。 --- ##### 导入零件至装配体 通过调用 `InsertComponent` 方法,可以将单个零件插入到当前活动的装配体中。 ```python # 获取路径指向目标零件 part_path = r"C:\path\to\your_part.sldprt" # 将零件作为组件插入到装配体中 component_occurrence = assembly_doc.InsertNewComponent(part_path, True)[0] if component_occurrence is None: raise Exception("Failed to insert the part into the assembly.") else: print(f"Part successfully inserted as {component_occurrence.Name}.") ``` 此处的关键在于提供有效的零件路径,并处理返回的结果以确认操作成功与否。 --- ##### 设置约束条件 为了使零件能够按照预期位置放置于装配体内,还需要定义相应的配合关系(Mate Relations)。这一步骤通常涉及选取几何特征并应用特定类型的约束。 ```python mate_feature = assembly_doc.FeatureManager.CreateMateFeature( mate_type=7, # MateType Enumeration (e.g., Coincident) entity1=component_occurrence.GetFirstSubEntity(), entity2=assembly_doc.Extension.SelectByID2("Plane@Assem", "PLANE", 0, 0, 0, False, 0, None, 0), tolerance_value=None, keep_solver=True ) if mate_feature is None: raise Exception("Failed to create a mating constraint between entities.") else: print("Mating constraint applied successfully.") ``` 注意,在实际部署过程中可能需要动态调整实体选择逻辑以适应不同场景下的需求。 --- #### 总结 综上所述,借助 SolidWorks API 可轻松达成自动化批量导入零件到装配体的目标。整个流程涵盖了从项目初始化直至最终施加定位限制等多个环节的操作要点说明。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值